Ruby是很强大,可以利用附加库dl/win32的Win32API模块直接呼叫win32API
Win32API.new
参数1 字符串 呼叫dll名称
参数2 字符串 dll中dllexport的名称
参数3 字符串数组 表示每个参数的类型 L代表Long P代表Point I代表Int V代表Void (在实际使用的时候HResult和各种Handle都是Long,字符串是P)
参数4 字符串 表示返回值类型 同上
require "dl/win32"
![]()
FindWindow = Win32API.new 'user32.dll', 'FindWindow', %w(L P), 'L'
SetWindowText = Win32API.new 'user32.dll', 'SetWindowText', %W(L P), 'I'
![]()
if ARGV.length == 0 then
puts "使用说明:"
puts "一个参数时,是根据窗体标题查看窗体ID"
puts "两个参数时,是根据参数1的标题查找窗体,然后更改为参数2的标题"
elsif ARGV.length > 0 then
![]()
win = FindWindow.call(0,ARGV.shift)
puts win
![]()
if win != 0 then
bSet = SetWindowText.call(win, ARGV.shift)
if bSet == 1 then
puts "Success!"
else
puts "Fail!"
end
end
end
Win32API.new
参数1 字符串 呼叫dll名称
参数2 字符串 dll中dllexport的名称
参数3 字符串数组 表示每个参数的类型 L代表Long P代表Point I代表Int V代表Void (在实际使用的时候HResult和各种Handle都是Long,字符串是P)
参数4 字符串 表示返回值类型 同上
























【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步