找回密码
 加入
搜索
查看: 2956|回复: 7

[系统综合] 关于进程类的,请大家帮帮忙(已解决)

  [复制链接]
发表于 2012-1-18 16:17:45 | 显示全部楼层 |阅读模式
本帖最后由 surongfu 于 2012-6-26 08:42 编辑

假说要结束一个进程“123.exe"让其重新运行
假设123.exe 是在d:\456底下,那么可以让au3在结束123.exe时获取路径在次执行吗
发表于 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) ;运行
 楼主| 发表于 2012-1-18 18:16:54 | 显示全部楼层
第三行好像有错。。
发表于 2012-1-18 18:35:31 | 显示全部楼层
顺序写错了,不好意思,已改
 楼主| 发表于 2012-1-18 18:41:36 | 显示全部楼层
$iPid=ProcessExists("ConsoleMain.exe")
ProcessClose ( "ConsoleMain.exe" );结束控制台进程
Sleep(5000)
Run($iPid) ;运行
这样行不行,指点一下
 楼主| 发表于 2012-1-18 18:46:59 | 显示全部楼层
好像还是不行 风行 老大
发表于 2012-1-18 19:06:57 | 显示全部楼层
$iPid=ProcessExists("ConsoleMain.exe")
ProcessClose ( "ConsoleMain.exe" );结束控制台进程
Sleep(500 ...
surongfu 发表于 2012-1-18 18:41

这肯定是不行的嘛,查一下ProcessExists和Run的用法就知道,ProcessExists的返回值:
成功: 返回进程的 PID (进程标识符).
失败: 返回0,进程不存在.
Run的用法是:Run ( "程序" [, "工作目录" [, 显示标志[, 可选标志]]] )
楼上的程序却是相当于运行(进程标识符).明显不对
建议多看看帮助文件
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-20 21:29 , Processed in 0.085557 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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