可以用Shell命令Shell "ieexplorer.exe"

解决方案 »

  1.   

    本示例使用 Shell 函数来完成一个用户指定的应用程序。' 将第二个参数值设成 1,可让该程序以正常大小的窗口完成,并且拥有焦点。
    Dim RetVal
    RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)   ' 完成Calculator。
      

  2.   

    对不起,上面写错了shell "D:\Program Files\Internet Explorer\iexplore.exe"
      

  3.   

    shell功能有限,用shellexecute API,功能更强大些,也很好用。
      

  4.   

    对,用api函数 shellexecute 更好
      

  5.   

    在编制复杂的大型软件时,我们经常会需要有一些功能相对独立和完善的专用程序,如编辑程序,而这些程序通常是通用和流行并经实践检验的。如果由开发者重新编制这些程序,不仅大大增加了程序工作量以及调试过程,而且功能上很难比得上这些通用程序。显然,如果我们能直接调用这些程序是最为理想的。令人欣喜的是,VB提供了一个可用来调用其他应用程序的Shell函数,使VB的某些功能可直接由其他应用程序来完成,从而大大地减少了编程任务。
    格式是Shell(命令字符串[,窗口类型])
    其中的命令字符串是欲执行的应用程序名,可执行文件的扩展名只限于“.COM”,“.EXE”,“.BAT”,“.PIF”,缺省扩展名为.EXE文件,窗口类型是一整数值,它对应于程序执行时的显示窗口风格,是可选 的,共有下列5种选择:
    窗口类型值
    窗口类型 1,5,9
    正常窗口,具有指针 2
    最小窗口,具有指针(缺省) 3
    最大窗口,具有指针 4,8
    正常窗口,不具指针 6,7
    最小窗口,不具指针
    当Shell函数成功地调用某一个应用程序时,返回一个任务标识(Task ID),该ID表示正在执行的程序的唯一标识。
    [例]
    X=Shell("C:\WINDOWS/NOTEPAD.EXE",1)
    该语句调用WINDOWS附件中的记事本NOTEPAD.EXE作为编辑程序来使用,并返回1个ID值到X。 如何启动别的应用程序,并于应用程序结束前返回所需的资料?在这个范例中,我们会用到一个函数及二个陈述式,说明如下:Shell 函数: 执行一个执行文件程序,如果成功的话,会返回一个 Variant (Double) 来代表这个程序的 task ID,若不成功,则会返回 o。
    语法:Shell(pathname[,windowstyle]) 
    AppActivate 陈述式: 启动一应用程序视窗。
    语法:AppActivate title[, wait] 
    SendKeys 陈述式: 送出一或多个按键讯息到使用中的视窗,就如同在键盘上按下的一样。
    语法:SendKeys string[, wait] 它们的完整说明,请自行参阅线上手册或 Msdn!在这里,我们只是要告诉大家一个方法而已!今天我们要练习的是:在程序中使用 Shell 去执行小算盘,使用 AppActivate 去启动它,使用 SendKeys 传送按键给它做运算,再将运算结果用剪贴簿接收回来,最后关闭小算盘。在 Form 上放一个 CommandButton 及一个 TextBox,并将以下的程序码复制到 Form 中:Private Sub Command1_Click()
    ' 1 启动小算盘并计算
    Dim ReturnValue, I
    ReturnValue = Shell("Calc.EXE", 1) ' 执行小算盘。
    AppActivate ReturnValue ' 启动小算盘。
    For I = 1 To 100 ' 设定回圈执行次数。
    SendKeys I & "{+}", True ' 按下按键给小算盘
    Next I ' 将所有 I 值相加。
    SendKeys "=", True ' 取得总和。
    ' 2 将计算结果抓回程序中
    Clipboard.Clear ' 清除剪贴簿内容。
    SendKeys "^{C}", True ' 按 CTRL +C 来复制小算盘计算结果。
    Text1.Text = Clipboard.GetText ' 将剪贴簿中之计算结果放到 Text1 中。
    ' 3 关闭小算盘
    SendKeys "%{F4}", True ' 按 ALT+F4 来结束小算盘。
    End Sub执行之后您会看到小算盘自动运算,最后将结果 10100 返回 Text1中!OK!如果您想看分解动作的话,就重新开启一个新的工程,在 Form 上放三个 CommandButton 及一个 TextBox,程序码如下:Dim ReturnValue' 1 启动小算盘并计算
    Private Sub Command1_Click()
    Dim I
    ReturnValue = Shell("Calc.EXE", 1) ' 执行小算盘。
    AppActivate ReturnValue ' 启动小算盘。
    For I = 1 To 100 ' 设定回圈执行次数。
    SendKeys I & "{+}", True ' 按下按键给小算盘
    Next I ' 将所有 I 值相加。
    SendKeys "=", True ' 取得总和。
    End Sub' 2 将计算结果抓回程序中
    Private Sub Command2_Click()
    Clipboard.Clear ' 清除剪贴簿内容。
    AppActivate ReturnValue ' 启动小算盘。
    SendKeys "^{C}", True ' 按 CTRL +C 来复制小算盘计算结果。
    Text1.Text = Clipboard.GetText ' 将剪贴簿中之计算结果放到 Text1 中。
    End Sub' 3 关闭小算盘
    Private Sub Command3_Click()
    AppActivate ReturnValue ' 启动小算盘。
    SendKeys "%{F4}", True ' 按 ALT+F4 来结束小算盘。
    End Sub当然,结果和上面一个范例是一样的!
    要在 VB 中启动其他程序或开启各类文件,最简单的方法就是使用 Shell 函数,例如:要开启 C:\Test.txt 这个文字文件,则要启动记事本来开启这个文件案,程序如下:Dim RetVal As Long
    RetVal = Shell("C:\Windows\Notepad.exe C:\Test.txt", 3) '3代表视窗会最大化,并具有驻点,细节请查 Help以上的语法虽然很简单,但有一个风险,若是我们不知道开启文件的执行文件位置,则程序便会有错误产生,尤其一般软件在安装的时候都可以让使用者自行选择安装目录,所以执行文件的路径不能写死在程序中,要解决这个问题,就是在注册文件中找到该副文件名之启动程序位置,再放入 Shell 中。但是以上的作法必须熟悉注册文件,而且必须使用 Windows API 来 Call (注册文件的存取以后会有专文来说明),如果您对注册文件的存取及 API 的使用都很纯熟的话,当然没问题,但是有些人对于注册文件会有畏惧,这时候,您可以使用下面的方法:Shell("Start C:\Test.txt")您完全不用知道这份文件的启动程序是什么?它放在什么地方?参数 Start 便会自动依照附文件名到注册文件中找到启动程序来开启该份文件案! 不赖吧!注一:在 Windows 95/98/NT 平台中, 什么副文件名之文件案, 该由什么执行文件来启动, 都设在关联中,代码为 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Extensions例如: 名称为 ".DOC" 之资料为 "C:\Progra~1\Micros~2\Office\WINWORD.EXE ^.DOC"名称为 ".TXT" 之资料为 "notepad.exe ^.txt"注二:使用 Start 之唯一缺点为 "会比直接指定执行文件稍为慢 0.5-1 秒钟."注三:有一个例外就是屏幕保护程序,请看下面。105、由程序中启动屏幕保护程序!(一)如果您曾在民营企业的资讯中心待过,不知您是否曾遇过一种情形,某一个高阶主管 (或他的秘书) 要您帮他改一支报表,当他将有问题的报表交给您时,还千交待万交待,不可以让别人看到这份报表!这时您是不是觉得很好笑,其实在资讯中心,那里还有什么秘密可言?话是如此说,但是如果您能够将程序写得让他们觉得很安全,您也会获得比较多的礼遇,而从程序中启动屏幕保护程序就是技巧之一,为什么呢?因为当他在作业中途要离开位置时,他可以不用结束作业中的程序,而直接启动屏幕保护程序,而在屏幕保护程序中他可以设定密码,这样就不会不小心给人看到资料了!要启动屏幕保护程序可以直接使用 Shell 函数,但是上一个专题《问题 84》中我们讨论到的 Shell 二种作法对于屏幕保护程序却有不同的意义,分别说明如下: 错误的作法 ==> x = Shell("c:\windows\Sheep.scr") '这种作法只能开启屏幕保护程序的设定画面而已!正确的作法 ==> Shell ("start c:\windows\sheep.scr") '这种作法才能正确启动屏幕保护程序监视程序的运行情况 
    我们使用 VB 提供的 Shell 方法调用外部程序时,Shell 方法执行后会继续执行下面的代码,而我们不能确定外部程序什么时候调用结束。我们现在可以通过以下方法来实现对被调用程序的监视: 
    (1)首先在工程中添加一个模块,然后声明 OpenProcess 及 CloseHandle 这两个 API 函数;
    (2)然后加入下面的函数: 
    Public Function StillRun(ByVal ProgramID) As Boolean 
    Dim lHProgram As Long 
    Dim lReturn As Long 
    hProgram = OpenProcess(0, False, ProgramID) 
    If Not hProgram = 0 Then 
    StillRun = True 
    Else 
    StillRun = False 
    End If 
    CloseHandle hProgram 
    End Function 
    说明:ProgramID 是 Shell 函数返回的那个值, 那是一个进程号;lHProgram 是被测程序的进程句柄;lReturn是进程的返回码。本程序只是在WIN32下有效,使用重要注意一个问题, 就是代码的重入问题。可以用类似以下的代码来解决。
    While StillRun(id) 
    DoEvents 
    Wend 如何结束 Shell 所启动的程序? 如果被 Shell 所启动的程序还没有结束, 我们就想主动结束它,该怎么做呢?此时应调用的 Windows API 是 TerminateProcess, 细节如下:1. API 的声明:Const SYNCHRONIZE = &H100000
    Const INFINITE = &HFFFFFFFF
    Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Private Declare Function TerminateProcess Lib "kernel32" Alias "TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long注:如果以上的声明放在「一般模块」底下, 应将 Declare 之前的 Private 保留字去掉, 并且在 Const 之前加上 Public 保留字。2. Shell 的程序范例:(以执行 MS-DOS 为例)Dim pId As Long, pHnd As Long ' 分别声明 Process Id 及 Process Handle 变数pId = Shell("Command.com", vbNormalFocus) ' Shell 传回 Process Id
    pHnd = OpenProcess(SYNCHRONIZE, 0, pId) ' 取得 Process Handle
    ...
    Call TerminateProcess( pHnd, 0 ) ' TerminateProcess 所传入的是 Process Handle
    Call CloseHandle( pHnd )
    但以上的方案只适用于 Shell 所启动的程序, ShellExecute 则不适用, 原因是 ShellExecute 函数是通过资源管理器来启动程序, 而资源管理器启动程序之后,并没有将 Process ID 或 Process Handle 传回来。SHELL语句用法心得一. 调用系统“创建
      

  6.   

    在编制复杂的大型软件时,我们经常会需要有一些功能相对独立和完善的专用程序,如编辑程序,而这些程序通常是通用和流行并经实践检验的。如果由开发者重新编制这些程序,不仅大大增加了程序工作量以及调试过程,而且功能上很难比得上这些通用程序。显然,如果我们能直接调用这些程序是最为理想的。令人欣喜的是,VB提供了一个可用来调用其他应用程序的Shell函数,使VB的某些功能可直接由其他应用程序来完成,从而大大地减少了编程任务。
    格式是Shell(命令字符串[,窗口类型])
    其中的命令字符串是欲执行的应用程序名,可执行文件的扩展名只限于“.COM”,“.EXE”,“.BAT”,“.PIF”,缺省扩展名为.EXE文件,窗口类型是一整数值,它对应于程序执行时的显示窗口风格,是可选 的,共有下列5种选择:
    窗口类型值
    窗口类型 1,5,9
    正常窗口,具有指针 2
    最小窗口,具有指针(缺省) 3
    最大窗口,具有指针 4,8
    正常窗口,不具指针 6,7
    最小窗口,不具指针
    当Shell函数成功地调用某一个应用程序时,返回一个任务标识(Task ID),该ID表示正在执行的程序的唯一标识。
    [例]
    X=Shell("C:\WINDOWS/NOTEPAD.EXE",1)
    该语句调用WINDOWS附件中的记事本NOTEPAD.EXE作为编辑程序来使用,并返回1个ID值到X。 如何启动别的应用程序,并于应用程序结束前返回所需的资料?在这个范例中,我们会用到一个函数及二个陈述式,说明如下:Shell 函数: 执行一个执行文件程序,如果成功的话,会返回一个 Variant (Double) 来代表这个程序的 task ID,若不成功,则会返回 o。
    语法:Shell(pathname[,windowstyle]) 
    AppActivate 陈述式: 启动一应用程序视窗。
    语法:AppActivate title[, wait] 
    SendKeys 陈述式: 送出一或多个按键讯息到使用中的视窗,就如同在键盘上按下的一样。
    语法:SendKeys string[, wait] 它们的完整说明,请自行参阅线上手册或 Msdn!在这里,我们只是要告诉大家一个方法而已!今天我们要练习的是:在程序中使用 Shell 去执行小算盘,使用 AppActivate 去启动它,使用 SendKeys 传送按键给它做运算,再将运算结果用剪贴簿接收回来,最后关闭小算盘。在 Form 上放一个 CommandButton 及一个 TextBox,并将以下的程序码复制到 Form 中:Private Sub Command1_Click()
    ' 1 启动小算盘并计算
    Dim ReturnValue, I
    ReturnValue = Shell("Calc.EXE", 1) ' 执行小算盘。
    AppActivate ReturnValue ' 启动小算盘。
    For I = 1 To 100 ' 设定回圈执行次数。
    SendKeys I & "{+}", True ' 按下按键给小算盘
    Next I ' 将所有 I 值相加。
    SendKeys "=", True ' 取得总和。
    ' 2 将计算结果抓回程序中
    Clipboard.Clear ' 清除剪贴簿内容。
    SendKeys "^{C}", True ' 按 CTRL +C 来复制小算盘计算结果。
    Text1.Text = Clipboard.GetText ' 将剪贴簿中之计算结果放到 Text1 中。
    ' 3 关闭小算盘
    SendKeys "%{F4}", True ' 按 ALT+F4 来结束小算盘。
    End Sub执行之后您会看到小算盘自动运算,最后将结果 10100 返回 Text1中!OK!如果您想看分解动作的话,就重新开启一个新的工程,在 Form 上放三个 CommandButton 及一个 TextBox,程序码如下:Dim ReturnValue' 1 启动小算盘并计算
    Private Sub Command1_Click()
    Dim I
    ReturnValue = Shell("Calc.EXE", 1) ' 执行小算盘。
    AppActivate ReturnValue ' 启动小算盘。
    For I = 1 To 100 ' 设定回圈执行次数。
    SendKeys I & "{+}", True ' 按下按键给小算盘
    Next I ' 将所有 I 值相加。
    SendKeys "=", True ' 取得总和。
    End Sub' 2 将计算结果抓回程序中
    Private Sub Command2_Click()
    Clipboard.Clear ' 清除剪贴簿内容。
    AppActivate ReturnValue ' 启动小算盘。
    SendKeys "^{C}", True ' 按 CTRL +C 来复制小算盘计算结果。
    Text1.Text = Clipboard.GetText ' 将剪贴簿中之计算结果放到 Text1 中。
    End Sub' 3 关闭小算盘
    Private Sub Command3_Click()
    AppActivate ReturnValue ' 启动小算盘。
    SendKeys "%{F4}", True ' 按 ALT+F4 来结束小算盘。
    End Sub当然,结果和上面一个范例是一样的!
    要在 VB 中启动其他程序或开启各类文件,最简单的方法就是使用 Shell 函数,例如:要开启 C:\Test.txt 这个文字文件,则要启动记事本来开启这个文件案,程序如下:Dim RetVal As Long
    RetVal = Shell("C:\Windows\Notepad.exe C:\Test.txt", 3) '3代表视窗会最大化,并具有驻点,细节请查 Help以上的语法虽然很简单,但有一个风险,若是我们不知道开启文件的执行文件位置,则程序便会有错误产生,尤其一般软件在安装的时候都可以让使用者自行选择安装目录,所以执行文件的路径不能写死在程序中,要解决这个问题,就是在注册文件中找到该副文件名之启动程序位置,再放入 Shell 中。但是以上的作法必须熟悉注册文件,而且必须使用 Windows API 来 Call (注册文件的存取以后会有专文来说明),如果您对注册文件的存取及 API 的使用都很纯熟的话,当然没问题,但是有些人对于注册文件会有畏惧,这时候,您可以使用下面的方法:Shell("Start C:\Test.txt")您完全不用知道这份文件的启动程序是什么?它放在什么地方?参数 Start 便会自动依照附文件名到注册文件中找到启动程序来开启该份文件案! 不赖吧!注一:在 Windows 95/98/NT 平台中, 什么副文件名之文件案, 该由什么执行文件来启动, 都设在关联中,代码为 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Extensions例如: 名称为 ".DOC" 之资料为 "C:\Progra~1\Micros~2\Office\WINWORD.EXE ^.DOC"名称为 ".TXT" 之资料为 "notepad.exe ^.txt"注二:使用 Start 之唯一缺点为 "会比直接指定执行文件稍为慢 0.5-1 秒钟."注三:有一个例外就是屏幕保护程序,请看下面。105、由程序中启动屏幕保护程序!(一)如果您曾在民营企业的资讯中心待过,不知您是否曾遇过一种情形,某一个高阶主管 (或他的秘书) 要您帮他改一支报表,当他将有问题的报表交给您时,还千交待万交待,不可以让别人看到这份报表!这时您是不是觉得很好笑,其实在资讯中心,那里还有什么秘密可言?话是如此说,但是如果您能够将程序写得让他们觉得很安全,您也会获得比较多的礼遇,而从程序中启动屏幕保护程序就是技巧之一,为什么呢?因为当他在作业中途要离开位置时,他可以不用结束作业中的程序,而直接启动屏幕保护程序,而在屏幕保护程序中他可以设定密码,这样就不会不小心给人看到资料了!要启动屏幕保护程序可以直接使用 Shell 函数,但是上一个专题《问题 84》中我们讨论到的 Shell 二种作法对于屏幕保护程序却有不同的意义,分别说明如下: 错误的作法 ==> x = Shell("c:\windows\Sheep.scr") '这种作法只能开启屏幕保护程序的设定画面而已!正确的作法 ==> Shell ("start c:\windows\sheep.scr") '这种作法才能正确启动屏幕保护程序
      

  7.   

    SHELL语句用法心得一. 调用系统“创建快捷方式”向导 
    是否为VB不支持创建快捷方式而于着急呢?虽然 您可以调用vb5stkit.dll中的fCreateShellLink函 数,但它是为安装程序设计的,快捷方式的默认路径 总是从当前用户的“\Start Menu\Programs”开始,也 就是说,如果您的Windows95装在C盘上,您无法通过 fCreateShellLink函数把快捷方式创建到D盘上去。 
    现在,给大家介绍一种极为方便、巧妙的方法: 用Shell语句调用系统“创建快捷方式”向导。 
    新建一个项目,在窗体上放一个按钮,双击此按 钮,加入以下代码: 
    Private Sub Command1_Click() 
    Open App.Path & "\temp.lnk" For Output As #1 
    Close #1 '以上两句在程序所在目录建立一 个临时文件 
    Shell "Rundll32.exe AppWiz.Cpl,NewLinkHere 
    "& App.Path & "\temp.lnk" 
    End Sub 
    (注意:Shell语句中NewLinkHere后面跟着一个 空格才是引号,否则将出错。) 
    运行程序,按一下命令按钮,怎么样?“创建快 捷方式”向导出现了,如果创建成功,快捷方式将取 代临时文件temp.lnk的位置,如果选取消,temp.lnk 也会自动消失。当然,您可以在硬盘的任意位置建立 temp.lnk。好,现在又可以为您的程序增添一项新功 能了。Enjoy! 
    二. Rundll32.exe的用途 
    我们知道,用Shell语句只能调用可执行文件,即 exe、com、bat和pif文件,有时我们想要调用其他一 些系统功能该怎么办呢?此时,Windows提供的 Rundll32.exe可大显身手了。下面我们来认识一下这 些用法,也许会给您带来一点惊喜。 
    1.要打开设置系统时间的控制面板文件 (Timedate.cpl),只需运行如下代码: 
    Shell "Rundll32.exe 
    Shell32.dll,Control_RunDLL Timedate.cpl" 
    至于打开其他控制面板文件,相信您一定能够举 一反三,尝试一下,换个文件名就成了。 
    2.要运行某一快捷方式(*.lnk)则可以用以下 代码: 
    She11 "Rundll32.exe url.dll, FileProtocolHandler X" (X代表要运行的文件,包括 路径,下同。 
    3. 也可以这样写来打开ActiveMovie控制: 
    Shell "RUNDLL32.EXE amovie.ocx,Rundll",1 
    而用Shell "RUNDLL32.EXE amovie.ocx,Rundll /play X",1 将直接播放媒体文件。 
    4. Shell "rundll32.exe desk.cpl,InstallScreenSaver X”当然是安装屏幕保 护啦,如果你写了一个屏幕保护程序,那么可以在安 装程序中写上它,而不一定要装到system目录下。顺 便提一下,VB不是自捞一个“Application Setup Wizard”么?它的VB源代码都在安装目录下的 “\setupkit\setup1”中放着呢,好好把它研究一下。 你完全能做出富有个性的安装程序来。 
    5.按住shift键,右击某一文件,菜单中会出现 “打开方式”选项,这也许已不是什么秘密。但现在, 用shell "rundll32.exe shell32.dll OpenAs_RunDLL X" 便能直接调用“打开方式”框。 
    6. 甚至能用这样一句来打印文件(包括HTML所 支持的所有文本与图像格式): 
    Shell "rundll32.exe MSHTML.DLL,PrintHTML X”, 1 
    怎么样?是不是小有收获呢?这下,您一定会对 Rundll32.exe这个平时不起眼的文件另眼相待了,它 可是系统运行必不可少的部件呢!其实 Shell+Rundll32还能调用其他许多系统功能,比如关 于NetMeeting和Telnet方面的。如果您有兴趣,可以 到往册表的“我的电脑\HKEY_CLASSES_ROOT\”或“我 的电脑\HKEY_LOCAL_MACHINE\Software\CLASSES”下 去看看,本文的内容大都是从那里“抄”来的。只要 有足够的决心、信心、耐心,您一定能发现更多有价 值的东西。Good luck! 
    再谈Shell语句的用法笔者曾经在98年《新潮电子》第10期上写过一篇《shell语句用法心得》,看过此文的朋友一定会觉 得其中的主角其实是Rundll32.exe,而非shell语句,因为只要知道Rundll32.exe的用法,在任何编程 语言中均可调用。事实上用这种方法来调用系统功能既方便又安全,着实让人体会到微软和windows体 贴、温柔的一面。 上回疏漏了许多有用有趣的用法,此番又长了不少经验值,不敢不与大家共享,也算是对上文的补 充吧。 
    一、关于Rundll32.exe 
    过去,你曾经为了自己编的文件管理器能Format 磁盘、浏览器能自动拨号连接而求助于那位高傲的 API。现在,Rundll32.exe向你提供了更为平易近人的 方法来实现这些功能。 
    附表中列举了本人总结出的一些精华,耐 心的你是否会发现,有时只要一条语句便可解开心中 的难题呢?(shell语句的执行格式为shell加上表中 列举的相应命令。例如,要调用关机程序则为:shell “rundll32.exe user.exe,exitwindOws”。)调用模块 命 令 结 果 
      rundll32.exe shell32.dll,Control_RunDLL 打开控制面板 
    SHELL32.DLL     
      rundll32.exe shell32,SHHelpShortcuts_Rundll PrintersFolder 打开打印机文件夹 
      rundll32.exe shell32,SHHelpShortcuts_Rundll FontsFolder 打开字体文件夹 
      rundll32.exe shell32,SHHelpShortcuts_Rundll AddPrinter 添加新打印机向导 
      rundll32.exe shell32,SHformatDrive 格式化软盘 
    SYSDM.CPL     
      rundll32.exe shell32,Control_RunDLL sysdm.cpl 系统属性,常规 
      rundll32.exe shell32,Control_RunDLL sysdm.cpl,,l 系统属性,设备管理器 
      rundll32.exe shell32,Control_RunDLL sysdm.cpl,,3 系统属性,性能 
      rundll32.exe shell32,Control_RunDLL sysdm.cpl @1 添加新硬件向导 
    APPWIZ.CPL     
      rundll32.exe shell32,Control_RunDLL appwiz.cpl,,1 添加/删除程序 
      rundll32.exe shell32,Control_RunDLL appwiz.cpl,,2 安装Windows部件 
      rundll32.exe shell32,Control_RunDLL appwiz.cpl,,3 制作启动盘 
    DISKCOPY.DLL     
      rundll32.exe diskcopy.dll,DiskcopyRundll 复制磁盘 
    RNAUI.DLL     
      rundll32.exe rnaui.dll,RnaDial x (x为连接名称) 打开拨号边接对话框,若已连接,则显示连接状态对话框 
      rundll32.exe rnaui.dll,RnaWizard 新建拨号连接向导 
    DESK.CPL     
      rundll32.exe shell32,Control_RunDLL desk.cpl,,0 选择桌面背景 
      rundll32.exe shell32,Control_RunDLL desk.cpl,,1 选择屏幕保护 
      rundll32.exe shell32,Control_RunDLL desk.cpl,,2 选择外观 
      rundll32.exe shell32,Control_RunDLL desk.cpl,,3 设置显示属性 
    MAIN.CPL     
      rundll32.exe shell32,Control_RunDLL main.cpl @0 设置鼠标属性 
      rundll32.exe shell32,Control_RunDLL main.cpl @1 设置键盘属性,速度 
      rundll32.exe shell32,Control_RunDLL main.cpl @1,,1 设置键盘属性,语言 
      rundll32.exe shell32,Control_RunDLL main.cpl @2 打开打印机文件夹 
      rundll32.exe shell32,Control_RunDLL main.cpl @3 打开字体属性 
      rundll32.exe shell32,Control_RunDLL main.cpl @4 设置输入法 
    MODEM.CPL     
      rundll32.exe shell32,Control_RunDLL modem.cpl,,add 添加调制解调器向导 
    MMSYS.CPL     
      rundll32.exe shell32,Control_RunDLL mmsys.cpl @1 设置声音属性(也可以加入,,0到,,4的参数以选择不同的标签) 
    UESR.EXE     
      rundll32.exe user.exe,exitwindows 关闭计算机 
      

  8.   

    Public Declare Function ShellExecute Lib "shell32.dll" Alias _
       "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
        ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory _
        As String, ByVal nShowCmd As Long) As LongDim lRetVal As Long
    lRetVal = ShellExecute(0&, vbNullString, "www.sina.com.cn", vbNullString, vbNullString, vbNomalFocus)
      

  9.   

    Private Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory _
    As String, ByVal nShowCmd As Long) As LongPrivate Sub Command1_Click()
        ShellExecute 0&, vbNullString, "www.163.com", vbNullString, vbNullString, vbNomalFocus
    End Sub