posts - 225, comments - 62, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

调用Win32 API需要通过RubyGems安装相应的包,通过执行命令行gem install <package name>
调用gem安装Win32 API还需要依赖DevKit,如果装Ruby的时候没有装DevKit还需要另外装一下。
在这里可以找到http://rubyinstaller.org/downloads/

之后就可以安装相应的包了,如下:

调用Win32 API的库
安装 gem install win32-api
包含 require "Win32API"
主要的类 Win32API

操作Windows剪贴板的库
安装 gem install win32-clipboard
包含 require "win32/clipboard"
主要的类 Clipboard

Sample
 
require 'Win32API'
 
require "win32/clipboard"
include Win32
 
class Win32API
    # type flag
    MB_OK               = 0
    MB_OKCANCEL         = 1
    MB_ABORTRETRYIGNORE = 2
    MB_YESNOCANCEL      = 3
    MB_YESNO            = 4
    MB_RETRYCANCEL      = 5
 
    # return values
    IDOK     = 1
    IDCANCEL = 2
    IDABORT  = 3
    IDRETRY  = 4
    IDIGNORE = 5
    IDYES    = 6
    IDNO     = 7
 
    def Win32API.message_box(text, caption = "", type = MB_OK)
        messagebox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
        messagebox.call(0, text, caption, type)
    end
end
 
if Win32API.message_box("copy 'hello' to Clipboard?", "hello", Win32API::MB_OKCANCEL) == Win32API::IDOK then
    Clipboard.data Clipboard::UNICODETEXT
    Clipboard.set_data "hello"
end

具体的使用方法可以搜索关键字 Ruby Win32API和 Ruby Clipboard
或者参考gems的doc下相应包的文档

只有注册用户登录后才能发表评论。