Project1

标题: 【 r u b y 】 这 30 行 代码 是什么意思呢? [打印本页]

作者: Ceopal    时间: 2013-8-6 18:18
标题: 【 r u b y 】 这 30 行 代码 是什么意思呢?
本帖最后由 Ceopal 于 2013-8-6 18:32 编辑
  1. class KeyBoardHelper
  2.     attr_reader :ctrl, :shift, :alt, :win

  3.     def initialize
  4.         @ctrl, @shift, @alt, [url=home.php?mod=space&uid=116493]@win[/url] = 0x11, 0x10, 0x12, 0x5b
  5.         @bScan, @downFlag, @upFlag, @extraInfo = 0x45, 1, 3, 0

  6.         @ke = Win32API.new('User32.dll', 'keybd_event', 'IIII',)
  7.     end

  8.     def press(key, &block)
  9.         key = key.upcase.bytes[0] if key.instance_of? String

  10.         @ke.call(key, @bScan, @downFlag, @extraInfo)
  11.         yield if block
  12.         @ke.call(key, @bScan, @upFlag, @extraInfo)
  13.     end

  14.     def test_paste
  15.         press(@ctrl) {
  16.             press('v')
  17.         }
  18.     end
  19. end

  20. h = KeyBoardHelper.new
  21. sleep 3
  22. h.test_paste
复制代码
运行时,还少了一个参数……
作者: myownroc    时间: 2013-8-6 18:26
好象是复制粘贴文本内容
作者: satgo1546    时间: 2013-8-6 18:30
(楼主能不能不用全角
模拟按键Ctrl+V。不过这啥调用方法= =
作者: Sion    时间: 2013-8-7 17:10
这是Keyboard helper,就是键盘小助手的意思。
作者: 573490788QW    时间: 2013-8-21 17:47
很好,我很满意。
作者: myownroc    时间: 2013-8-21 17:52
573490788QW 发表于 2013-8-21 17:47
很好,我很满意。

纯水...@︶ㄣ牛排ぶ  
作者: 573490788QW    时间: 2013-10-9 18:29
为什么是纯水呢?
作者: feizhaodan    时间: 2013-10-9 18:37
第八行部分
  1. @ke = Win32API.new('User32.dll', 'keybd_event', 'IIII',)
复制代码
最后少了一个参数,该参数因该是该函数的返回值类型。


挖坟了挖坟了囧




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1