用 VB 编写程序时间长了,总想让自己的程序更“酷”一些,比如能用程序控制 Windows 的系统窗口、设置 Windows 的一些参数等。这些功能我们一般会想到调用 API 函数去实现,实际上有时还会有别的比较简便的方法。以下笔者介绍几种方法,但愿能对大家的编程有些用处,如果再举一反三,说不定还能挖掘出更强大的功能来。感兴趣的朋友可以来 Email:zhangking@263.net讨论。
一、开启“控制面板”窗口的三种方法:
1 法:
Dim Ret As Double
Ret = Shell("Control.exe", vbNormalFocus)
2 法:
Dim Ret As Double
Ret = Shell("rundll32.exe shell32.dll,Control_RunDLL", vbNormalFocus)
3 法:
Dim Ret As Double
Ret = Shell("explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ _
::{21EC2020-3AEA-1069-A2DD-08002B30309D}", vbNormalFocus)
二、启动拨号网络窗口:
“拨号网络”其实不是一个可执行文件,所以一般常用的“Shell <可执行文件名>”方法,在此并不适用。要
调出拨号网络窗口,可以借助 explorer.exe 程序,格式如下:
Shell "explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ _
::{992CFFA0-F557-101A-88EC-00DD010CCC48}"
其中 {20D04FE0-3AEA-1069-A2D8-08002B30309D}、{992CFFA0-F557-101A-88EC-00DD010CCC48} 分别为“我的电脑”和“拨号网络”的类标识 ID 号,可以从注册表中查找到。
三、启动拨号连接界面:
要启动拨号网络中的某一个连接(假设连接名称为“我的连接1”),可借助 rundll.exe 及 rnaui.dll 程序,方法是:
Shell "rundll rnaui.dll,RnaDial 我的连接1"
请注意在以上叙述中,“,RnaDial 我的连接1”部分不要插入多余的空格字符,字母的大小写也不能任意更改。
四、打开程序组的窗口:
比方要打开“附件”窗口,只要在 Form 上建一个文本框 Text1,然后键入以下代码即可:
Private Sub Form_Load()
Me.Visible = False
Text1.LinkTopic = "Progman|Progman"
Text1.LinkMode = 2 ' 手动
Text1.LinkExecute "[ShowGroup(附件, 4)]"
Unload Me
End Sub
五、用程序给程序组添加快捷方式:
比如要给“启动”组添加快捷方式,让 Windows
启动时执行指定的程序,方法如下:
在 Form 上添加一个文本框 Text1,然后键入以下代码:
Text1.LinkTopic = "Progman|Progman"
Text1.LinkMode = 2 ' 手动
Text1.LinkExecute "[ShowGroup(启动, 4)]"
Text1.LinkExecute "[AddItem(快捷方式指向的可执行文件路径, 快捷方式名称)]"
假设我们想把 "C:\Windows\notepad.exe" 建立成“启动”组下的快捷方式“我的记事本”,则最后一行应该如下:
Text1.LinkExecute "[AddItem(C:\Windows\notepad.exe, 我的记事本)]"
要给别的组添加快捷方式,只要把“启动”换成别的组名即可。
张庆 Email: zhangking@263.net
2001.1.4
|
|