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

又有问题来问了,run() 执行不了

[复制链接]
发表于 2009-7-21 17:26:11 | 显示全部楼层 |阅读模式
$ip=@IPAddress1
$ikbpath = IniRead("E:\系统更新\run\00\ikeeper\NSdominated.ini","server_ad","ikbpath","")
$key = IniRead("E:\系统更新\run\00\ikeeper\NSdominated.ini","server_ad","key","")
$ikbip = IniRead("E:\系统更新\run\00\ikeeper\NSdominated.ini","server_ad","ikbip","")
$ikbnum = IniRead("E:\系统更新\run\00\ikeeper\NSdominated.ini","CLIENT_ID",$ip,"")
ProcessClose("ap.exe")
BlockInput(1)
run($ikbpath)

=======
run 不到文件。 用 msgbox 查$ikbpath 指向是对的,文件也真实存在。

生成的程序我不是放在同一目录一的,放在同一目录下没有问题。
发表于 2009-7-21 17:37:17 | 显示全部楼层
msgbox一下$ikbpath看看其值就知道了
 楼主| 发表于 2009-7-21 17:41:41 | 显示全部楼层
值是正确的 E:\系统更新\run\00\ikeeper\setup.exe
很晕 ……

我把


换了下顺序
run($ikbpath)
BlockInput(1)

运行 键盘是锁定了,说明 run这步也是执行过的吧?
另外我要是把生成的程序放在E:\系统更新\run\00\ikeeper 这个目录下没问题,哎,,闷。
发表于 2009-7-21 17:42:40 | 显示全部楼层
为什么只能用Run()命令来执行.exe 和 .com 文件? 对于.msi/.txt 还有其它格式的文件该怎样做呢?
只有少数文件扩展是"可运行"的——通常这些文件是.exe, .bat, .com, .pif.其它类型的文件如.txt 和 .msi实际上是借助其它程序来执行的. 比如当您双击"myfile.msi"文件的时候,实际上在后台执行的命令是"msiexec.exe myfile.msi". 所以要在AutoIt中运行一个.msi文件就需要这样做:

    RunWait("msiexec myfile.msi")



或者用更简单的方法,就是使用"start"命令,它会自动为您处理这个文件:

    RunWait(@COMSPEC & " /c Start myfile.msi")



或者, 使用 ShellExecuteWait 函数是最好的选择 :

    ShellExecuteWait("myfile.msi")
发表于 2009-7-21 17:47:27 | 显示全部楼层
run($ikbpath,@ScriptDir)
 楼主| 发表于 2009-7-21 18:04:32 | 显示全部楼层
ShellExecuteWait 用这个搞定
我晕死 run 怎么突然不行了,,,  以前都是用的run 。。。
难道是幻觉,还是明天日全食的原因,我晕,
 楼主| 发表于 2009-7-21 18:09:26 | 显示全部楼层
谢谢各位,收工,HAPPY去。。。
发表于 2009-7-21 21:13:56 | 显示全部楼层
run($ikbpath,@ScriptDir)
afan 发表于 2009-7-21 17:47


指定工作目录可以避免编译后一些意外情况
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-6 16:11 , Processed in 0.070996 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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