C#程序中调用exe发现一个现象。
分别是A.exe一个路径,B.exe和C.exe在另一个相同路径。
A.exe调用B.exe,然后B.exe调用C.exe就出现了C.exe调用不正常的现象。
原来A调用B,B的工作目录发生了改变,虽然B,C在同一个目录,但是C在一些初始化配置上出现错误。
解决办法就是在A调用B的时候加上一句话:
System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; p.StartInfo.FileName = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "B.exe"; p.Start();
B的工作目录还是自己所在路径,则B调用C不会出现问题。