封装进程创建的原因主要是易语言自带的运行和执行命令不能启动游戏,当我们写一键启动,批量启动游戏时,便用到了进程_创建的命令。易语言里的运行(),执行()有时候并不能直接运行一些游戏,而采用进程创建才可以。如果直接使用运行,执行,需要进行以下的处理。

.版本 2

.子程序 _按钮1_被单击, , , 运行

.局部变量 路径, 文本型

' 运行 (“calc.exe”, 假, )

' 执行 (#打开文件, “calc.exe”, , , )

' 运行 (“D:\游戏\剑侠\剑侠情缘网络版\gamefree.exe”, 假, )

' 执行 (#打开文件, “D:\游戏\剑侠\剑侠情缘网络版\gamefree.exe”, , , )

路径 = “D:\游戏\剑侠\剑侠情缘网络版\gamefree.exe”

' ' 改变目录的作用,相当于是dos的cd,一个作用就是判断路径是否存在,第二个作用就是进入这个路径

' 改变目录 (取文本左边 (路径, 倒找文本 (路径, “\”, , 假)))

' 运行 (路径, 假, )

进程_创建 (路径, )

511遇见易语言模块API教程

用到的API CreateProcess

WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。

函数原型

BOOL CreateProcess

(

LPCTSTR lpApplicationName,//程序路径可以是相对也可以是绝对路径

LPTSTR lpCommandLine,//启动参数可空

LPSECURITY_ATTRIBUTES lpProcessAttributes。//为空句柄不被继承

LPSECURITY_ATTRIBUTES lpThreadAttributes,// 参数为空,新进程使用默认的安全描述符

BOOL bInheritHandles,// TRUE表示允许当前进程中的所有句柄都由新建的子进程继承

DWORD dwCreationFlags,// 指定附加的、用来控制优先类和进程的创建的标志。

LPVOID lpEnvironment,// 指向一个新进程的环境块。如果此参数为空,新进程使用调用进程的环境。

LPCTSTR lpCurrentDirectory,// 这个字符串必须是一个包含驱动器名的绝对路径。

LPSTARTUPINFO lpStartupInfo,// 指向一个用于决定新进程的主窗体如何显示的STARTUPINFO结构体。

LPPROCESS_INFORMATIONlpProcessInformation//指向一个用来接收新进程的识别信息的PROCESS_INFORMATION结构体。

);

自定义数据类型

STARTUPINFO

.版本 2

.数据类型 STARTUPINFO, 公开, 进程启动信息(进程_创建)

.成员 cb, 整数型

.成员 lpReserved, 整数型

.成员 lpDesktop, 整数型

.成员 lpTitle, 整数型

.成员 dwX, 整数型

.成员 dwY, 整数型

.成员 dwXSize, 整数型

.成员 dwYSize, 整数型

.成员 dwXCountChars, 整数型

.成员 dwYCountChars, 整数型

.成员 dwFillAttribute, 整数型

.成员 dwFlags, 整数型

.成员 wShowWindow, 长整数型

.成员 cbReserved2, 长整数型

.成员 lpReserved2, 整数型

.成员 hStdInput, 整数型

.成员 hStdOutput, 整数型

.成员 hStdError, 整数型

PROCESS_INFORMATION

.版本 2

.数据类型 PROCESS_INFORMATION, 公开, 进程标识(进程_创建)

.成员 hProcess, 整数型, , , 进程句柄

.成员 hThread, 整数型, , , 线程句柄

.成员 dwProcessId, 整数型, , , 进程标识符

.成员 dwThreadId, 整数型, , , 线程标识符

命令源码

.版本 2

.子程序 进程_创建, 整数型, 公开, 返回非 0 表示成功,0表示失败

.参数 程序路径, 文本型, , 程序的路径

.参数 启动参数, 文本型, 可空

.局部变量 目录, 文本型

.局部变量 传参, STARTUPINFO

.局部变量 a, PROCESS_INFORMATION

目录 = 取文本左边 (程序路径, 倒找文本 (程序路径, “\”, , 假))

返回 (CreateProcess (程序路径, 启动参数, 0, 0, 4, 0, 0, 目录, 传参, a))

易语言取java路径模块,511遇见易语言API模块进程创建CreateProcess相关推荐

  1. 易语言取java路径模块_易语言API模块制作进程取程序路径

    易语言API模块制作进程取程序路径,提高进程的PID获取程序的所在路径. 进程_取程序路径 1.CreateToolhelp32Snapshot 快照句柄 = CreateToolhelp32Snap ...

  2. 511遇见易语言数组加入成员

    易语言数组操作加入成员()和插入成员()容易混淆,本来打算一起讲解这两个命令,但备课的时候发现内容较多,本课通过6个实例讲解了命令的运用. 511遇见易语言教程 官方源码: 调用格式: 〈无返回值〉 ...

  3. 511遇见易语言数组操作数组排序

    本课将的数组排序是易语言数组操作中的核心命令,是易语言封装好的排序方法,我们还要在后续课程中讲解一起其他排序方法,比如冒泡排序,选择法排序,折半法排序,交换法排序等等...易语言经典排序算法系列 51 ...

  4. 511遇见易语言文本替换和子文本替换

    本课讲解了文本替换()和子文本替换()的区别和使用技巧,并且自己封装了另一个高级文本替换,解决了一些BUG. 视频链接: 511遇见易语言教程 视频课程源码 .版本 2.程序集 窗口程序集_启动窗口. ...

  5. 511遇见易语言重定义数组和复制数组

    教程重点就重定义数组的三个参数分别做了实例示范讲解,对于复制数组再另外用了赋值的方法演示了一维数组的赋值. 511遇见易语言教程 一.官方源码 重定义数组 调用格式: 〈无返回值〉 重定义数组 (通用 ...

  6. 511遇见易语言寻找字节集和倒找字节集

    寻找字节集,从指定字节集中由前向后寻找指定字节集的位置赋给变量,未找到反回-1:倒找字节集,从指定字节集中由后向前寻找指定字节集的位置赋给变量,未找到反回-1 视频链接: 511遇见易语言教程 寻找字 ...

  7. 511遇见易语言API模块制作进程取程序路径

    易语言API模块制作进程取程序路径,提高进程的PID获取程序的所在路径. 视频链接: 511遇见易语言模块API教程 进程_取程序路径 1.CreateToolhelp32Snapshot 快照句柄 ...

  8. 511遇见易语言模块API教程进程结束和进程取自进程ID

    当我们多线程多窗口启动游戏时,在退出时我们手动比较麻烦,可以使用进程结束一键退出. 511遇见易语言模块API教程 1.GetCurrentProcessId 获取当前进程一个唯一的标识符 说明: 获 ...

  9. 511遇见易语言模块API视频教程窗口取类名(GetClassNameA)

    "GetClassNameA", , 为指定的窗口取得类名 以字节数表示的类名长度:排除最后的空中止字符.零表示出错.会设置GetLastError 视频链接: 511遇见易语言模 ...

最新文章

  1. linux硬件配置软件,洞悉Linux系统软硬件配置
  2. python使用opencv_Python使用OpenCV进行标定
  3. unity,standalone下自定义分辨率不起作用的解法
  4. 机器学习常见算法个人总结(面试用)
  5. springboot actuator_Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控...
  6. ashx 绝对路径得到物理路径
  7. 对象水平对齐,并且按照竖直方向排列
  8. 如何用github给开源贡献代码
  9. linux如何解除密码,如何在Linux下解除PDF文件的密码?
  10. linux tcp cork,在此用例中,TCP_CORK和TCP_NODELAY是否有显着差异?
  11. Gateway与后端系统连接详细配置
  12. Python实践:猜数字小程序Collatz序列
  13. 微信小程序---家庭记账本开发(三)
  14. 如何阅读Java源码
  15. 三星android安装到sd卡,三星怎么安装sd卡 三星手机怎么安装sim卡
  16. 好心情患者故事:节食暴食反复横跳,我确诊了重度抑郁
  17. 两岸开源社群面面观(总结篇)
  18. 深度Linux 安装英伟达闭源驱动,deepin20 安装英伟达闭源驱动的步骤详解
  19. JAVA 18 拥有 9 个新特性,JDK18
  20. html格式自动出现乱码,HTML页面乱码怎么解决?

热门文章

  1. Win11 HAXM无法安装
  2. ThinkPHP框架下载
  3. chrome浏览器控制台创建js脚本并执行
  4. 高斯-克吕格投影与地形图分带
  5. 【论文阅读】让数据库听懂人话(Text-to-SQL)
  6. vue实现word,pdf,xlsx文件下载
  7. 复盘案例:橱柜安装不合适,导致柜体、台面均重做
  8. Hiredis 简介
  9. EasyUI快速入门实战教程(一)
  10. mysql分表插件_分库分表简单?那我想问如何实现“分库分表插件”?