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]
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18