求高手,怎样编写一个运行同一个目录下的程序
求高手,怎样编写一个运行同一个目录下的程序?:face (13): 比如说,我的qq安装路径在:\Program Files\qq2008\qq.exe"
我想编一个脚本,把它也放在这个目录里,直接运行这个程序就可以运行QQ
当然我只是举个例子,这个路径是随时在变的。可以说这个程序是一个绿色程序,我把它放在U盘里用的。我是新手请大家帮忙。谢谢 直接填写执行程序名字就可以了.
如: run("qq.exe") 本帖最后由 jycel 于 2009-10-23 20:47 编辑
如果说在当前脚本,直接调用即可
Run("qq.exe")
如果说在其它脚本调用,请注意这样一个问题我曾经遇到过的!
Run("*:\*\qq.exe","工作目录")
工作目录最好写上,否则将造成有可能造成程序启动失败
例子:http://www.autoitx.com/forum.php?mod=viewthread&tid=10402
也可没试下一些游戏启动文件,如剑侠情缘的GameFree.exe或开心之类的,不设置工作目录都有可能! 恩上面说的不错就那样可以的哦 本帖最后由 minterz 于 2009-11-9 12:41 编辑
运行qq,会自动找到qq.exe的路径。
$path= Processpath(ProcessExists("qq.exe"))
msgbox(0,"",$path)
Func Processpath($iPID)
;通过API获取指定PID的进程路径
;官方牛人制作
Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID)
If $aProc = 0 Then Return SetError(1, 0, '')
Local $vStruct = DllStructCreate('int')
DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc, 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0)
Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc, 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048)
If StringLen($aReturn) = 0 Then Return SetError(2, 0, '')
Return $aReturn
EndFunc Run(@ScriptDir&"\qq.exe")
页:
[1]