使用win32ole
require 'win32ole'
ie = WIN32OLE.new('InternetExplorer.Application')
ie.visible = true
ie.gohome
使用win32api
require "Win32API"
message = "This is a sample Windows message box generated using Win32API"
title = "Win32API from Ruby"
api = Win32API.new('user32', 'MessageBox',['L', 'P', 'P', 'L'],'I')
api.call(0,message,title,0)
第一个打开Internet Explorer,第二个打开一个消息框。 简单地说两者似乎都能够访问操作系统并使其完成任务。 win32ole是win32api的一个子集还是反过来?这两者有什么区别?
答案 0 :(得分:1)
win32ole 用于与库和&amp ;;进行互操作。已编写为充当OLE / COM服务器的应用程序,请参阅What is COM?以获取该技术的说明。
win32api 与操作系统API(Win32)交互,后者也是实现OLE / COM的地方,但 win32ole 的存在可以方便地抽象出所涉及的大部分复杂性。通过其较低级别的API使用COM。