C#调用外部程序时遇到的问题

有如下结构的目录A(主目录)|___app.exe(运行的主程序)|___B(目录)|___Data(运行other.exe时需要的数据文件,如果不存在则会自动生成)|_... 有如下结构的目录
A(主目录)
|_ _ _ app.exe(运行的主程序)
|_ _ _ B(目录)
|_ _ _Data(运行other.exe时需要的数据文件,如果不存在则会自动生成)
|_ _ _other.exe(会在app.exe中调用它)(此程序应该是C++写的)
现在遇到的问题时,在app.exe中利用process.start(Application.startpath +"\\B\\other.exe")去调用它时,other.exe会在app.exe的同级目录(即在A目录下)中生成Data文件 ,而不是直接从B目录调用,这是什么原因?如何让other.exe直接调用自己同级目录的Data文件。
说明:如果手动运行other.exe,则它用的是同目录下的Data文件。
展开
 我来答
阳光的雷咩咩
2016-09-01 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7832万
展开全部
看样子你在other.exe中使用了相对路径。相对路径有很多写法,其中常见可以是Environment.CurrentDirectory这个是exe所在文件夹,但当当前程序是其他程序(app.exe)调用时,此路径就是调用者的路径。如果你确实是由于这个原因,而且你不能改other.exe的代码,那你可以试试放另一个exe到other.exe相同路径,再用那个exe调用other.exe。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式