返回值是新的进程句柄的只有:打开进程()、创建进程()两个命令,创建进程()命令详解

返回值是新的进程句柄的只有:打开进程()、创建进程()两个命令。

创建进程()命令详解。


.子程序 进程_创建进程, 逻辑型, 公开, 创建运行一个新程序进程..若不提供 进程信息 参数时会自动关闭句柄,若提供该参数可获得进程与线程句柄,供后续内存操作方面等使用
.参数 程序文件, 文本型, , 指定一个程序的全路径名和启动参数 如 "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和句柄,当然也不必再写关闭句柄
    ' 填了 进程信息 这个参数就会得到进程句柄与线程句柄,若后继需要用到,可以保存到程序集或全局变量里

    关闭句柄 (进程信息.进程句柄)  ' 当不再使用这些句柄了要及时关闭掉
    关闭句柄 (进程信息.线程句柄)  ' 当不再使用这些句柄了要及时关闭掉
.如果真结束

posted on 2011-06-15 12:53  wanghj_dz  阅读(444)  评论(0编辑  收藏  举报

导航