ShellExecute 调用后怎样配置执行目录(30分)

  • 主题发起人 主题发起人 bluedyness
  • 开始时间 开始时间
B

bluedyness

Unregistered / Unconfirmed
GUEST, unregistred user!
救命啊.........
我用ShellExecute(0,'open',PCHAR(ps),nil,nil, SW_SHOW);//ps是一个绝对路径
大部分调用的外部程序都可以正常运行,但是有些程序运行后还要运行一些配置文件,问题就来了,我调用的外部程序它不在它自己的目录下面寻找却跑到我写的程序的根目录下寻找,结果就是老出错,提示找不到文件,如果我把那些文件放在我的程序根目录下是可以正常运行的,我查了一些资料,问题应该在‘运行目录和执行目录’里了,可我老是搞不定。
很急啊。。大家有时间帮帮我啊...
 
ShellExecute(0,'open',PCHAR(ps),PChar(ExtractFilePath(ps)),nil, SW_SHOW);//
 
错了,应该是第5个参数,第四个参数是给启动程序传递参数值的,应该是:
ShellExecute(0,'open',PCHAR(ps),nil,PChar(ExtractFilePath(ps)), SW_SHOW);//
 
谢谢了!已搞定,我知道第5个参数是设置路径的,可我以前把语法弄错了,加多了个‘/’,后来在memo上show了一下,才知道问题在哪里,狂晕。..
最后要说的是你的语句是错误的,因为ps里还有*.exe 你没有去掉,哈哈
交你这个朋友了 有空密我啊,一个人玩编程很惨啊... qq:420382310 小雨
^_^
 
*.exe,这样能运行?
 
后退
顶部