Ruby模块Win32API直接呼叫win32API

Ruby语言功能非常强大。我们在这里为大家介绍的Ruby模块Win32API是Ruby语言中的一个附加库。它就可以帮助我们直接呼叫Win32API。#t#

参数1 字符串 呼叫dll名称

参数2 字符串 dll中dllexport的名称

参数3 字符串数组 表示每个参数的类型 L代表Long P代表Point I代表Int V代表Void (在实际使用的时候HResult和各种Handle都是Long,字符串是P)

参数4 字符串 表示返回值类型同上

Ruby模块Win32API代码示例:

  1. require "dl/win32"  
  2. FindWindow = Win32API.new 
    'user32.dll', 'FindWindow', %w(L P), 'L'  
  3. SetWindowText = Win32API.new 
    'user32.dll', 'SetWindowText', 
    %W(L P), 'I'  
  4. if ARGV.length == 0 then  
  5. puts "使用说明:"  
  6. puts "一个参数时,是根据窗体标题查看窗体ID"  
  7. puts "两个参数时,是根据参数1的标题查
    找窗体,然后更改为参数2的标题"  
  8. elsif ARGV.length > 0 then  
  9. win = FindWindow.call(0,ARGV.shift)  
  10. puts win  
  11. if win != 0 then  
  12. bSet = SetWindowText.call(win, 
    ARGV.shift)  
  13. if bSet == 1 then  
  14. puts "Success!"  
  15. else  
  16. puts "Fail!"  
  17. end  
  18. end  
  19. end 

以上就是Ruby模块Win32API在应用中的方法介绍。

本文标题:Ruby模块Win32API直接呼叫win32API
分享网址:http://www.mswzjz.cn/qtweb/news16/447266.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能