找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2080|回复: 0

第30课 RunApp启动运行程序 - 《按键精灵9 · 经典教程》

[复制链接]
  • 打卡等级:开宗立派

1087

主题

2141

回帖

4335

积分

院长

鲜花
9
猫粮
7413
QQ
发表于 2022-4-2 21:58:43 | 显示全部楼层 |阅读模式
按键电脑版
教程封面:
按键版本: 按键精灵9
教程难度: 中级教程
教程专辑: 《按键精灵9 · 经典教程》
教程简介: 这是我们早期按键精灵9的经典教程系列,当时讲完没多久就按键2014出来了,所以一直放在某个角落吃灰。现按键论坛重启,急需一套全面的零基础免费教程,故响应号召,将这部分视频重新整理并加上图文说明后发布。虽然教程年代久远,但按键精灵9的语法与按键精灵2014版完全一样,仅仅只是界面不同而已,所以可以放心学习,而一些改动的地方,我也将会在帖子中以图文形式告知大家。由于这个系列是我刚开始授课时讲解的,有点小紧张,语速比较慢,也有一些重复话语,推荐大家2倍速以上观看,捂脸,逃。。。
教程下载: -
网盘密码:
备注说明: -

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

教程内容介绍

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")
楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-11-22 02:23

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表