先说下利用了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)
环境准备好了,测试一下代码:
#加载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