W wufo Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-07 #1 小弟在程序A中通过winexec,ShellExecute,createprocess等调用一个程序B,但被调用的B程序总是提示找不到它的配置文件。如果把B的配置文件Copy到A的目录,则没有该问题,请问各路大侠如何不用Copy配置文件,在A程序调用B程序时,设置好B程序的缺省目录呢?
小弟在程序A中通过winexec,ShellExecute,createprocess等调用一个程序B,但被调用的B程序总是提示找不到它的配置文件。如果把B的配置文件Copy到A的目录,则没有该问题,请问各路大侠如何不用Copy配置文件,在A程序调用B程序时,设置好B程序的缺省目录呢?
D duhai_lee Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-07 #2 应该不是不在一个目录的原因。 你是怎么调用的??
W weichao9999 Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-07 #4 它去那里找配置文件了? 它是去指定的目录下找,还是去环境变量的path目录里找? 先弄清这些问题才能知道怎么做。 我的程序与被调用的Exe不在同一目录--------应该不是这的问题
Z zqw0117 Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-07 #5 ShellExecute(Handle, 'OPEN', '主程序.exe', nil, '主程序工作目录,如:c:/windows', SW_SHOWNORMAL);
W winsong Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-07 #6 简单,不copy 配置,就直接copy一个A的备份,再运行备份不就得了?
J jennykiller Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-07 #7 ShellExecute可以指定启动目录的。
L luckson_li Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-07 #8 调用前改变当前目录 ChDir('程序B路径');//这样就OK ShellExecute(Handle, 'OPEN', '主程序.exe', nil, '主程序工作目录,如:c:/windows', SW_SHOWNORMAL);
调用前改变当前目录 ChDir('程序B路径');//这样就OK ShellExecute(Handle, 'OPEN', '主程序.exe', nil, '主程序工作目录,如:c:/windows', SW_SHOWNORMAL);