打印本文 打印本文 关闭窗口 关闭窗口
VB应用程序对系统配置参数的确定
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2062  更新时间:2009/4/23 18:58:33  文章录入:mintao  责任编辑:mintao

  y = Str(GetSystemMetrics(SM_CYSCREEN))

  Label1.Caption = "当前显示器分辨率: " + n + "x" + y

  

  七.调用MSINFO32.EXE程序

  在MS Office套件中,Microsoft提供了MSINFO32.EXE实用程序,它较为全面地为用户提供了系统、打印、DLL、字体、校对、图形过滤器、文本转换器、显示、音频、视频、CD-ROM、OLE注册表、活动模块、输入法等信息。该程序一般放置在Windows所在驱动器的\ Program Files\ Microsoft Shared\ MSInfo路径下。在VB应用程序中,一般在“关于”窗口中对这个实用程序加以调用,虽然其中的信息无法直接应用,但它增加了程序的专业性。

  要想成功地调用MSINFO32.EXE,关键在于获取它所在的路径。这一路径无法直接由Win32 API函数获得,也不存在于Windows的配置文件中,而仅存在于Windows 的注册表中。Office套件在安装时对MSINFO32.EXE进行了注册,可供Office各部件共同调用,其路径信息保存在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSINFO中,因此,获取路径的问题转化成了对注册表的查询。

  Win32 API提供了一系列操纵注册表的函数,这里用到了RegOpenKeyEx()、RegQueryValueEx()和RegCloseKey()函数,分别用于打开注册表关键字、检索注册表关键字的值和关闭注册表关键字。如果RegOpenKeyEx()和RegQueryValueEx()返回为0,说明成功地打开了注册表关键字,并且检索到了预定的MSIFO32.EXE关键字值,最后调用Shell()函数来启动MSINFO32.EXE。

  VB5的窗体向导提供了标准的调用过程。首先建立一个新项目,然后在“项目”菜单中选择“删除Form1”,再添加一个窗体,在弹出的对话框中选择“关于对话框”,这样就产生了一个定制好的标准的“关于”窗体,其中就有对MSINFO32.EXE的调用,并对运行错误设置了相应的处理。Microsoft对代码做了详尽的注释,这里就不再赘述了。

  Visual Basic的企业版提供了Microsoft Developer Network(MSDN)启动工具箱,安装之后,就可以访问Win32 Software Development Kit(SDK),它为Win32 API提供了文件说明,可以帮助程序员理解每一个函数、结构和常量的工作原理。对VB程序员来讲,理解和使用Windows API有一定的难度,它要求程序员对Windows的工作原理有较为深入的了解,如果掌握好Windows API的使用方法,则能够极大地扩展Visual Basic语言的功能,使应用程序对系统的控制更加深入、灵活。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口