ruby实现按键精灵的功能

先说下利用了AutoItX3.dll这个API,这个东西没有怎么办,ruby的watir GEM包里自带这个dll。
如果出现
“unknown OLE server: ‘AutoItX3.Control’(WIN32OLERuntimeError) ”这个错误,可能是因为你的dll没有注册。
解决方式如下:
regsvr32 AutoItX3.dll

路径可能要变下:
如:
regsvr32 C:\Ruby\lib\ruby\gems\1.8\gems\watir-1.6.5\lib\watir\AutoItX3.dll  (For Ruby 1.8.6)

regsvr32 C:\Ruby187\lib\ruby\gems\1.8\gems\watir-1.6.5\lib\watir\AutoItX3.dll  (For Ruby 1.8.7)

环境准备好了,测试一下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
#加载GEM包
require 'win32ole'
#new 对象
@autoit = WIN32OLE.new("AutoItX3.Control")
#查找
@autoit.WinActivate("软件控件的标题",'')
#启动监听,然后再每天12:00:00 左键点击 100:200坐标的控件
while 1
    if Time.now.to_s.scan(/\d{2}\:\d{2}:\d{2}/)[0]=="12:00:00"
        @autoit.MouseClick "Left",100,200,2
        break
    end
end

 参考:
http://www.cnblogs.com/nikeylee/archive/2010/06/30/1768210.html
http://www.cnblogs.com/weiqi/archive/2011/02/12/1952779.html
http://www.cnblogs.com/weiqi/archive/2011/02/08/1949926.html

posted @   Anleb  阅读(882)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示