空军导弹学院 刘建都
---- 本文首先说明了在
vb中设置常用外围设备的方法。然后给出了一个实际例子。
---- 1. 在VB中启动控制面板来设置外部设备
---- 在VB中对外部设备进行设置的最简单的方法是直接启动Windows的控制面板,让使用者直接使用控制面板来进行设置,不仅轻松,也不易出错。虽然控制面板不是一个.exe文件,但通过VB提供的Shell语句可调出控制面板,具体的语句如下:
Shell “rundll32.exe shell32.dll,
Control_RunDLL”,vbNormalFocus
---- 以上语句的作用就好象是按下“开始”菜单的“设置->控制面板”一样,如果希望直接调出控制面板中的子功能设置窗口,则是要对上述的语句中加适当的修改,直接调出常用外部设备设置窗口的语句如下:
Shell “rundll32.exe shell32.dll,Control_RunDLL
desk.cpl”,vbNormalFocus ‘调出显示器的设置窗口
Shell “rundll32.exe shell32.dll,Control_RunDLL main.cpl”,
vbNormalFocus ‘调出鼠标的设置窗口
Shell “rundll32.exe shell32.dll,Control_RunDLL main.cpl @1”,
vbNormalFocus ‘调出键盘的设置窗口
Shell “rundll32.exe shell32.dll,Control_RunDLL main.cpl @2”,
vbNormalFocus ‘调出打印机的设置窗口
---- 大家可能已经注意到,调出子功能设置窗口的命令是在调出控制面板主屏幕的命令中加了以.cpl为扩展名的文件及其参数,要使上述命令顺利的执行,在机器的Windows\System的目录下必须有desk.cpl和main.cpl这两个文件;实际上,如果我们在资源管理器中双击这一类以为.cpl扩展名的文件,结果也可以执行该文件而显示出控制面板的某一个子功能。
---- 如果您想知道您的机器中的某些.cpl文件是何用途,最简单的方法就是执行它们。由于“键盘”和“打印机”等子功能都没有对应的.cpl文件,它们均包含在main.cpl之中,若要调出它们须加入相应的参数,例如:调出键盘的设置窗口加入“@1”, 调出打印机的设置窗口加入“@2”等。当我们在VB中打开了控制面板主窗口或控制面板中子功能设置的窗口后,就可很方便对常用的外部设备进行设置,设置完成后,关闭打开的设置窗口,又会回到VB运行环境下,就可以进行其它的工作了。
---- 2. 直接利用
程序来设置外部设备
---- 有时候我们不想调出控制面板,而想直接利用
程序来设置常用的外部设备,此时最常用的方法是调用Windows API函数来完成常用外部设备的设置。
---- 2.1 调用SystemParametersInfo API函数来设置键盘、鼠标和显示器
---- SystemParametersInfo API函数可用来设置系统的参数,让我们首先看看这个函数的定义语句及参数的含义:
Declare Function SystemParametersInfo Lib "user32"
Alias "SystemParametersInfoA" (ByVal uAction As Long,
ByVal uParam As Long, ByVal lpvParam As Any, ByVal
fuWinIni As Long) As Long
其中:uAction—决定函数用途的参数,此参数的设置值有90种,
完整的设置值及每一种设置值的意义请查阅MSDN/CD
(以SystemParametersInfo为关键值进行
查询)。
uParam—此参数的用途取决于uAction参数
lpvParam—此参数的用途取决于uAction参数
fuWinIni—此参数一般设置为:SPIF_UPDATEINIFILE(值为1)
Or SPIF_SENDWININICHANGE(值为2),其意义为立即更新Win.ini
(或登录数据库)并且对其它窗口广播(也就是通知所有执行中
的窗口,系统状态已经有所改变)。
下面就分别说明用该函数来设置常用外部设备的方法。
---- 2.1.1 设置健盘的延时时间及重复速度
---- 要设置健盘的延时时间,参数uAction的值为:SPI_SETKEYBOARDDELAY(值为23);参数uParam的值的范围从0(延时时间约250毫秒)到3(延时时间约1秒),并且与硬件有一定的关系