不,它不是 exe,它是你在动态链接库 C:\Windows\System32\shell32.dll 中找到的 shell 对话窗口
您可以像这样从 VBScript 调用它:
dim objShell
set objShell = CreateObject("shell.application")
objShell.FileRun
像这样来自 JScript:
var objShell = new ActiveXObject("shell.application");
objShell.FileRun();
像这样从 VB6 开始:
Private Sub fnShellFileRunVB()
Dim objShell As Shell
Set objShell = New Shell
objShell.FileRun
Set objShell = Nothing
End Sub
使用现代 VB.NET,这变成:
Dim t2 As Type = Type.GetTypeFromProgID("Shell.Application")
Dim obj2 = Activator.CreateInstance(t2) ' dynamic
obj2.FileRun()
如果选项 strict 为“ON”,那么要走的路是这样的:
Dim t As Type = Type.GetTypeFromProgID("Shell.Application")
Dim obj As Object = Activator.CreateInstance(t)
t.InvokeMember("FileRun", System.Reflection.BindingFlags.InvokeMethod, Nothing, obj, Nothing)
C# 变体:
Type t = Type.GetTypeFromProgID("Shell.Application");
object obj = Activator.CreateInstance(t);
t.InvokeMember("FileRun", System.Reflection.BindingFlags.InvokeMethod, null, obj, null);
//If the C # 4.0, the Dynamic Lookup presence of, it can be:
Type t2 = Type.GetTypeFromProgID("Shell.Application");
dynamic obj2 = Activator.CreateInstance(t2);
obj2.FileRun();
但如果您愿意,也可以从批处理文件中调用它:
C:\WINDOWS\system32\rundll32.exe shell32.dll,#61
或通过 Explorer 命令行:
explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}