qq83769881 发表于 2010-2-1 16:35:24

程序调用执行出错的问题

本帖最后由 qq83769881 于 2010-2-1 17:19 编辑

工具写好了

我用WINRAR打包成 自解压的文件

自解压是的路径是 %tmp%\

自解压后运行的程序 %tmp%\set.exe

但是不知道怎么回事set.exe 这样自解压的 他读不了.ini的文件

我不弄自解压 单独运行却能用。。。望哪位告诉一下,谢谢。

qq83769881 发表于 2010-2-1 16:44:58

直接进 目录里面点击运行 不会出错
用自解压调用就不行 郁闷喃

sanmoking 发表于 2010-2-1 16:46:35

还有

本帖最后由 sanmoking 于 2010-2-1 17:39 编辑

楼主的标题得改一下了,否则斑竹来了会删帖的..标题必须有你要提问的关键内容.
读不了.ini的文件估计是你工作目录留空的原因....另外系统变量%tmp%用au3识别不了的.au3的宏是@temp之类的....


这个就是你自己程序里的问题了,在读取ini的时候不要直接用相对路径
IniRead ( "data.ini", "字段名", "关键字", "默认值" )
要用类似这样的:
IniRead ( @ScriptDir"\data.ini", "字段名", "关键字", "默认值" )
或者这样的
IniRead ( @TempDir"\data.ini", "字段名", "关键字", "默认值" )

还有用
Run ( "文件名" [, "工作目录" [, 显示标志[, 可选标志]]] )
( "文件名" [, "参数" [, "工作目录" [, "verb" [, 显示标志]]]] )
这类函数的时候,工作目录尽量写上,否则就会遇到一些楼主这种莫名其妙的问题...

还有,我认为,解压后运行其实相当于rar调用了一个文件运行了,和au3用ShellExecute运行一个文件差不多的原理,
我没看rar的命令大全,不知道rar有没有设置工作目录的参数,有的话你就可以用上了,
否则你解压后运行那个set.exe,可能它就把rar的安装目录当做当前工作目录了,或者把自解压的压缩包所在的路径当当前工作目录了也说不定..我猜的...


最最后,一定要注意引号的问题,特别是临时文件夹,因为路径中有空格,所以你一个不小心,路径就会变成"C:\Documents"了.....这个也是我猜的...


最后.楼主此贴的标题可以改成这样的,斑竹就不会锁你的贴了,
[调用其他程序运行,工作目录如何设置]
是设置为主程序的工作目录,还是设置为被调用程序的工作目录,诸如此类.....

qq83769881 发表于 2010-2-1 16:50:12

工作目录在哪设?
%tmp% 我是在WINRAR自解压路径里用的

手动进这个目录就行 郁闷
用自解压和批处理 %tmp%\set.exe 主程序是运行了 但到读INI那步 就出错了

qq83769881 发表于 2010-2-1 17:00:58

:face (32):HELP ME.

afan 发表于 2010-2-1 17:05:15

标题模糊|违规,不利于论坛搜索,此主题已暂时关闭。请依照论坛发帖规则修改标题。并于修改合格之后,联系本版版主或管理员打开(务必附上被关闭的帖子链接)。若3日后仍未修改,将移入论坛回收站。若放弃对此主题的修改而重新开贴,将删除新帖并从重处罚。

附:论坛发帖规则 http://www.autoitx.com/forum.php?mod=viewthread&tid=10945
页: [1]
查看完整版本: 程序调用执行出错的问题