使用ShellExecuteEx调用其余EXE后两个进程之间的关系以及进程的当前目录设定的有关问题
使用ShellExecuteEx调用其余EXE后两个进程之间的关系以及进程的当前目录设定的问题
最近在做一个MFC的东西,是通过一个A.exe,调用一个dll,然后在这个dll中通过ShellExecuteEx函数调用B.exe。在B.exe中本来有一个步骤是读取和B.exe同一个文件夹下的一个XML文件,但是在调用B.exe的时候显示XML文件读取失败。但是当我把XML文件和A.exe放在同一个目录下的时候,B.exe被正确调用了。就觉得很奇怪,为什么会有这样的现象产生?在执行的时候A.exe和B.exe之间的关系算是父子进程吗?他们共享了同一个当前目录么?如果想要吧B.exe另外单独制定一个目录而不影响A.exe的话有什么办法吗?
------解决方案--------------------
在执行的时候A.exe和B.exe之间的关系算是父子进程吗?
算
--------------
他们共享了同一个当前目录么?
B的工作目录此时便是A的工作目录
-----------------
如果想要吧B.exe另外单独制定一个目录而不影响A.exe的话有什么办法吗?
DLL中调用B.exe时使用相对于A程序所在目录的相对路径,或者直接使用绝对路径
------解决方案--------------------
------解决方案--------------------
最近在做一个MFC的东西,是通过一个A.exe,调用一个dll,然后在这个dll中通过ShellExecuteEx函数调用B.exe。在B.exe中本来有一个步骤是读取和B.exe同一个文件夹下的一个XML文件,但是在调用B.exe的时候显示XML文件读取失败。但是当我把XML文件和A.exe放在同一个目录下的时候,B.exe被正确调用了。就觉得很奇怪,为什么会有这样的现象产生?在执行的时候A.exe和B.exe之间的关系算是父子进程吗?他们共享了同一个当前目录么?如果想要吧B.exe另外单独制定一个目录而不影响A.exe的话有什么办法吗?
------解决方案--------------------
在执行的时候A.exe和B.exe之间的关系算是父子进程吗?
算
--------------
他们共享了同一个当前目录么?
B的工作目录此时便是A的工作目录
-----------------
如果想要吧B.exe另外单独制定一个目录而不影响A.exe的话有什么办法吗?
DLL中调用B.exe时使用相对于A程序所在目录的相对路径,或者直接使用绝对路径
------解决方案--------------------
------解决方案--------------------