我们在编程时,往往要打开 Windows 系统的一些窗口,我们首先想到的是调用 API 函数去完成,其实有时不必去嚼晦涩难懂的 API 也能完成一些很“系统”的功能。比如以下笔者使用 VB 的 shell 函数,通过 Explorer 的带参数执行(参数基本为 Windows 一些窗口对象的类标识符,在注册表里能找到),打开了拨号网络、回收站、网上邻居等等系统窗口。
1,打开“我的电脑”窗口:
Dim Ret As Double
Ret = Shell("explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", vbNormalFocus)
2,打开“控制面板”窗口:
Dim Ret As Double
Ret = Shell("explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}", vbNormalFocus)
另外,还可用以下两种方法:
Ret = Shell("Control.exe", vbNormalFocus)
或 Ret = Shell("rundll32.exe shell32.dll,Control_RunDLL", vbNormalFocus)
3,打开“打印机设置”窗口:
Dim Ret As Double
Ret = Shell("explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D}", vbNormalFocus)
4,打开“拨号网络设置”窗口(必须首先安装“拨号网络”):
Dim Ret As Double
Ret = Shell("explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{992CFFA0-F557-101A-88EC-00DD010CCC48}", vbNormalFocus)
5,启动拨号连接窗口:
要启动拨号网络中的某一个连接(假设连接名称为“169连接”),可借助 rundll.exe 及 rnaui.dll 程序,方法是:
Shell "rundll rnaui.dll,RnaDial 169连接"
请注意“,RnaDial 169连接”部分不要插入多余的空格字符,并且注意字母的大小写也不能任意更改。
6,打开“计划任务”窗口:
Dim Ret As Double
Ret = Shell("explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}", vbNormalFocus)
7,打开“Web 文件夹”窗口(“Web 文件夹”必须存在):
Dim Ret As Double
Ret = Shell("explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{BDEADF00-C265-11D0-BCED-00A0C90AB50F}", vbNormalFocus)
8,打开“回收站”窗口:
Dim Ret As Double
Ret = Shell("explorer ::{645FF040-5081-101B-9F08-00AA002F954E}", vbNormalFocus)
9,打开“网上邻居”窗口(有关网络的软、硬件必须先行正确安装、设置):
Dim Ret As Double
Ret = Shell("explorer ::{208D2C60-3AEA-1069-A2D7-08002B30309D}", vbNormalFocus)
10,启动 IE
Dim Ret As Double
Ret = Shell("explorer ::{871C5380-42A0-1069-A2EA-08002B30309D}", vbNormalFocus)
也可用 Ret = Shell("iexplore", vbNormalFocus)
11,启动“微软网络 MSN”(必需先安装 MSN):
Dim Ret As Double
Ret = Shell("explorer ::{00028B00-0000-0000-C000-000000000046}", vbNormalFocus)
12,打开“命令提示符”(MS-DOS)窗口:
' 在 Windows NT 下:
Dim Ret As Double
Ret = Shell("cmd.exe", vbNormalFocus)
' 在 Windows 9x 下:
Dim Ret As Double
Ret = Shell("command.com", vbNormalFocus)
张庆 Email: zhangking@263.net
2000 年 10 月 17 日
|
|