pcxiong 发表于 2009-10-12 15:33:58

求高手,怎样编写一个运行同一个目录下的程序

求高手,怎样编写一个运行同一个目录下的程序?
:face (13): 比如说,我的qq安装路径在:\Program Files\qq2008\qq.exe"
我想编一个脚本,把它也放在这个目录里,直接运行这个程序就可以运行QQ
    当然我只是举个例子,这个路径是随时在变的。可以说这个程序是一个绿色程序,我把它放在U盘里用的。我是新手请大家帮忙。谢谢

sky808 发表于 2009-10-14 12:10:21

直接填写执行程序名字就可以了.
如: run("qq.exe")

jycel 发表于 2009-10-23 20:45:01

本帖最后由 jycel 于 2009-10-23 20:47 编辑

如果说在当前脚本,直接调用即可

Run("qq.exe")

如果说在其它脚本调用,请注意这样一个问题我曾经遇到过的!

Run("*:\*\qq.exe","工作目录")

工作目录最好写上,否则将造成有可能造成程序启动失败
例子:http://www.autoitx.com/forum.php?mod=viewthread&tid=10402
也可没试下一些游戏启动文件,如剑侠情缘的GameFree.exe或开心之类的,不设置工作目录都有可能!

莺歌燕舞 发表于 2009-11-5 08:51:41

恩上面说的不错就那样可以的哦

minterz 发表于 2009-11-9 12:38:42

本帖最后由 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

xlcwxl 发表于 2009-11-12 11:39:31

Run(@ScriptDir&"\qq.exe")
页: [1]
查看完整版本: 求高手,怎样编写一个运行同一个目录下的程序