surongfu 发表于 2012-1-18 16:17:45

关于进程类的,请大家帮帮忙(已解决)

本帖最后由 surongfu 于 2012-6-26 08:42 编辑

假说要结束一个进程“123.exe"让其重新运行
假设123.exe 是在d:\456底下,那么可以让au3在结束123.exe时获取路径在次执行吗

kk_lee69 发表于 2012-1-18 17:26:13

你是想要 保護 123.exe 不被中斷掉......還是 只是 123.exe 重新啟動的 應用

风行者 发表于 2012-1-18 17:55:31

本帖最后由 风行者 于 2012-1-18 18:47 编辑

#include <winapiex.au3>

$path = _WinAPI_GetModuleFileNameEx(processexists("123.exe")) ;获取路径
ProcessClose("123.exe") ;结束
Sleep(5000)
Run($path) ;运行

如果是3.6 for 3.8正式版 的 winapiex
#include <winapiex.au3>
$path = _WinAPI_GetProcessFileName(processexists("123.exe")) ;获取路径
ProcessClose("123.exe") ;结束
Sleep(5000)
Run($path) ;运行

surongfu 发表于 2012-1-18 18:16:54

第三行好像有错。。

风行者 发表于 2012-1-18 18:35:31

顺序写错了,不好意思,已改

surongfu 发表于 2012-1-18 18:41:36

$iPid=ProcessExists("ConsoleMain.exe")
ProcessClose ( "ConsoleMain.exe" );结束控制台进程
Sleep(5000)
Run($iPid) ;运行
这样行不行,指点一下

surongfu 发表于 2012-1-18 18:46:59

好像还是不行 风行 老大

zldfsz 发表于 2012-1-18 19:06:57

$iPid=ProcessExists("ConsoleMain.exe")
ProcessClose ( "ConsoleMain.exe" );结束控制台进程
Sleep(500 ...
surongfu 发表于 2012-1-18 18:41 http://www.autoitx.com/images/common/back.gif
这肯定是不行的嘛,查一下ProcessExists和Run的用法就知道,ProcessExists的返回值:
成功: 返回进程的 PID (进程标识符).
失败: 返回0,进程不存在.
Run的用法是:Run ( "程序" [, "工作目录" [, 显示标志[, 可选标志]]] )
楼上的程序却是相当于运行(进程标识符).明显不对
建议多看看帮助文件
页: [1]
查看完整版本: 关于进程类的,请大家帮帮忙(已解决)