马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
教程内容介绍
RunApp 运行
启动一个程序或者打开一个文件,常用于启动游戏,但是有些游戏使用本命令会启动失败,这种情况我们可以使用API形式启动游戏,详见下面例子
[按键精灵] 纯文本查看 复制代码 //高级例子1
//介绍: 部分应用程序无法使用RunApp命令打开, 故这里提供一个API启动程序命令
//程序路径: 要启动程序的完整路径
//下面两行是API的声明, 请放在脚本开头
Private Declare Function GetDesktopWindow Lib "user32" () As Long
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 Long
Sub zmRunApp(程序路径)
Dim p, DirPath, FileName
p = InStrRev(程序路径, "\")
DirPath = Left(程序路径, p)
FileName = Right(程序路径, Len(程序路径) - p)
ShellExecute GetDesktopWindow, "open", FileName, vbNullString, DirPath, 5
End Sub
//调用例子如下:
zmRunApp "C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe"
除了这个功能外,一些命令行也可以通过这个RunApp来执行,详见下面例子
[按键精灵] 纯文本查看 复制代码 //高级例子2
//介绍: 如果你要执行CMD命令行内容, 可以尝试使用本函数
//命令行: 命令行代码内容, 如果存在文件路径, 请给路径加单引号, 例如 "'C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe'"
Function zmRunCMD(命令行)
Dim fs, tempFile, f, tempText
命令行 = Replace(命令行, "'", chr(34))
Set fs = CreateObject("scripting.FileSystemObject")
tempFile = fs.GetSpecialFolder(2) & "\" & fs.GetTempName
RunApp "cmd.exe /c " & 命令行 &" > " & tempFile
//如果命令行执行耗时较久, 请加长延时的时间
Delay 1000
If fs.FileExists(tempFile) Then
Set f = fs.openTextFile(tempFile, 1)
tempText = f.ReadAll
f.Close
Set f = Nothing
End If
Set fs = Nothing
zmRunCMD = tempText
End Function
//调用例子, 下面是执行dir命令行并输出结果
TracePrint zmRunCMD("dir") |