返回值是新的进程句柄的只有:打开进程()、创建进程()两个命令,创建进程()命令详解
返回值是新的进程句柄的只有:打开进程()、创建进程()两个命令。
创建进程()命令详解。
.子程序 进程_创建进程, 逻辑型, 公开, 创建运行一个新程序进程.注.若不提供 进程信息 参数时会自动关闭句柄,若提供该参数可获得进程与线程句柄,供后续内存操作方面等使用
.参数 程序文件, 文本型, , 指定一个程序的全路径名和启动参数 如 "c:\xxx\abc\a.exe" "c:\xxx\abc\a.exe -k -b -c"
.参数 运行目录, 文本型, 可空, 指定该进程的运行环境目录 如 "c:\xxx\abc\" "c:\xxx\" 若空默认为EXE文件所在的目录
.参数 隐藏窗口, 逻辑型, 可空, 如果有窗口的话,可以设定是否要隐藏.但若目标进程忽略此参数的话,那么隐藏窗口就会无效.
.参数 自动挂起, 逻辑型, 可空, 设定进程被创建后执行指令之前就暂停下来,若挂起进程,需要使用恢复线程或恢复进程来恢复运行
.参数 进程信息, 进程信息, 参考 可空, 返回被创建的进程ID,线程ID,进程句柄,线程句柄.若不用这些句柄时,需要自行关闭.
//数据类型为进程信息,这是一个结构体。可以通过诸如: 进程信息.进程ID 的方式获得进程的具体信息
.参数 注入DLL, 文本型, 可空, 可以在创建进程的时候同时注入DLL文件,该DLL接口与 安装线程DLL() 的接口一样
.参数 父进程句柄, 整数型, 可空, 可以指定将要被创建的进程的父进程句柄,默认为当前进程
-----------------------------------------------------------------------------------------------------------
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
模块注册 ()
_启动窗口.标题 = “自进程ID=” + 到文本 (取自进程ID ()) + “ 主线程ID=” + 到文本 (取进程主线程 (-1))
.子程序 _按钮1_被单击
.局部变量 进程信息, 进程信息
编辑框2.内容 = “”
编辑框1.内容 = 扩展路径 (编辑框1.内容)
' 运行() 进程_运行程序 () 创建进程() 进程_创建进程()
' 创建进程的参数一为 程序文件的完整路径 支持命令行方式
' 参数二可以指定新进程的运行目录,不然新进程将继承我们进程的目录作为运行目录
.如果真 (创建进程 (编辑框1.内容, , , , 进程信息))
编辑框2.加入文本 (“进程信息.进程ID=” + 到文本 (进程信息.进程ID) + #换行符)
编辑框2.加入文本 (“进程信息.线程ID=” + 到文本 (进程信息.线程ID) + #换行符)
编辑框2.加入文本 (“进程信息.进程句柄=” + 到文本 (进程信息.进程句柄) + #换行符)
编辑框2.加入文本 (“进程信息.线程句柄=” + 到文本 (进程信息.线程句柄) + #换行符)
' 若不填 进程信息 则不会得到进程与线程的ID和句柄,当然也不必再写关闭句柄
' 填了 进程信息 这个参数就会得到进程句柄与线程句柄,若后继需要用到,可以保存到程序集或全局变量里
关闭句柄 (进程信息.进程句柄) ' 当不再使用这些句柄了要及时关闭掉
关闭句柄 (进程信息.线程句柄) ' 当不再使用这些句柄了要及时关闭掉
.如果真结束