在Ruby中方便的调用Win32 API (使用windows-pr和CStruct)_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 在Ruby中方便的调用Win32 API (使用windows-pr和CStruct)

在Ruby中方便的调用Win32 API (使用windows-pr和CStruct)

 2010/11/17 22:56:57  skandhas  http://skandhas.javaeye.com  我要评论(0)
  • 摘要:缘由平时工作中,我主要使用C/C++和Ruby。有时经常需要调用API来写一些工具,但又不想动用重量级的C/C++.这时就想到了用Ruby来写。话说Ruby,确实是程序员的好帮手,方便,快捷。是居家旅行......的必备良药。在Ruby中有一个Win32API,是用来调用API的。但是用起来略为有点啰嗦和冗长。还好,RubyForge上有个Win32Utils项目,专门提供了对API调用的封装,使得调用API更方便了一步。而且
  • 标签:Ruby调用Win32API

缘由

平时工作中,我主要使用C/C++和Ruby。有时经常需要调用API来写一些工具,但又不想动用重量级的C/C++.这时就想到了用Ruby来写。 话说Ruby,确实是程序员的好帮手,方便,快捷。是居家旅行......的必备良药。


在Ruby中有一个Win32API ,是用来调用API的。但是用起来略为有点啰嗦和冗长。 还好,RubyForge上有个Win32 Utils 项目,专门提供了对API调用的封装,使得调用API更方便了一步。 而且,Win32 Utils 已经分门别类的封装好了很多Windows的功能模块,可以直接使用。如win32-file,win32-dir等。


但是,有两个原因导致了Win32APIWin32 Utils 在使用上的不方便:

  1. 不管是Win32API 还是Win32 Utils ,虽然解决了调用API的问题,没有很好的解决结构体参数的问题。 我们知道,Windows的很多API大都需要结构体指针的参数,来传入或是传出信息。使用者大多利用String#unpack和Array#pack来处理。

  2. Win32 Utils 提供的封装好的功能模块,如: win32-file,win32-dir等,是对API的进一步封装,将API封装在底下。 这样一来,如果想直接利用API来写程序的话,这些模块暂时就用不上了。

鉴于此,我的经验是使用 windows-pr + CStruct 来调用Windows的API.使用起来比较直观。下面进行分别介绍:
  • 相关文章
发表评论
用户名: 匿名