RubyWin32Api Win32OLE

#ruby提供了多种运行外部程序的方法
#1.%x %x不需要使用引号包含。
#2. system方法 
#3.exec类似system但是会中断当前的代码执行
#system和exec不能捕获执行程序的输出。
list=%x(dir d:\\) #捕获到输出结果
system(notepad)
p system
exec(notepad)
p exec#被exec中断,不会执行下面的代码

require Win32API#调用Win32api
get_cur=Win32API.new("user32","GetCursorPos",[P],V)
set_cur=Win32API.new("user32","SetCursorPos",[i]*2,V)
lpoint=" "*8
get_cur.call(lpoint)
x,y=lpoint.unpack("LL")
p "当前鼠标的坐标为:X:#{x},Y:#{y}"
new_xy=[12,12]
set_cur.call new_xy[0],new_xy[1]


require win32ole#调用win32ole
excel=WIN32OLE.new(excel.application)
excel.Visible=true
excel.WorkBooks.Add
 
excel.Range("a1").value=3
excel.Range(a2).value=2
excel.Range(a3).value=1
excel.Range(b1).value="win32ole操作excel栗子"
excel.Range(a1:a3).select

excel_chart=excel.charts.add
excel_chart.type=-4100
excel.ActiveWorkbook.SaveAs("c:\\test.xls")
excel.ActiveWorkbook.Close(0)
excel.Quit


word=WIN32OLE.new(word.application)
word.Visible=true
word.Documents.Add
word.Selection.TypeText("你好")
word.Selection.TypeParagraph
word.Selection.TypeText("win32ole操作word栗子")
#word.Selection.TypeParagraph

word.Selection.InlineShapes.AddPicture("http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png")#本地和网络图片均可

word.ActiveDocument.SaveAs("c:test.doc")
word.ActiveDocument.close
word.quit


ie=WIN32OLE.new(internetexplorer.application)
ie.visible=true
ie.left=100
ie.top=100
ie.width=700
ie.height=500
ie.navigate http://www.baidu.com/s?wd=你好
sleep 0.1 while ie.busy
script=ie.document.script
script.alert(这是ruby调用的js脚本)
#script.eval(‘document.location=$("h3>a:eq(0)").attr("href")‘)#这是个问题。。怎么执行呢
ie.Document.title=修改它的标题
puts ie.document
ie.quit

 

RubyWin32Api Win32OLE

上一篇:java 获取特定天数的时间戳


下一篇:Delphi 实现多窗口任务栏显示图标《转》