Project1

标题: 关于DLL的问题 [打印本页]

作者: wangze500    时间: 2011-2-16 07:02
标题: 关于DLL的问题
本帖最后由 wangze500 于 2011-2-16 07:02 编辑

Ruby可以调用DLL,因此VX也可以调用DLL

各位大大有没有具体点的例子可以给小的看看?dsu_plus_rewardpost_czw
作者: 亿万星辰    时间: 2011-2-16 07:09
本帖最后由 亿万星辰 于 2011-2-16 07:11 编辑

请参考全键盘调用脚本、鼠标脚本等……
其中有一句
xxx = Win32API.new(dllname, proc, import, export)
http://www.kuqin.com/rubycndocument/man/addlib/Win32API.html
作者: 铃仙·优昙华院·因幡    时间: 2011-2-16 08:32
一个非常简单的API : MessageBox
先是 API函数的 C++ 声明:
    int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT UType);

    hWnd: 窗口句柄.  指针或者长整数
    lpText: 提示窗口标题文字. 字符串(指针)
    lpCaption: 窗口内容. 字符串(指针)
    UType: 窗口类型, 整形

然后来看 Ruby 调用声明, 请注意上面的函数原型:
  1. messageBox = Win32API.new("user32.dll", "MessageBox", "lppi", "i")
复制代码
Win32API.new(包含 API 函数的 dll 库名字, API 函数名, API 参数列表类型声明, 返回值类型声明)

最后的最后就是调用:
  1. messageBox.call(0, "Hello", "Hello World", 0)
复制代码

作者: wangze500    时间: 2011-2-20 13:31
本帖最后由 wangze500 于 2011-2-20 13:32 编辑

十分感谢,虽然对不住分只能给一个人的




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