当前位置:主页>仓库管理软件> 列表

关于调用exe文件的问题

销售管理软件版1楼: 我用delphi调用一个外部的exe文件,写法如下
ShellExecute(handle,nil,''D:\7768auto\7768auto\xavi_debug\xavi.exe'',nil,nil,sw_ShowNormal);
xavi是一个exe文件,这个文件的运行需要用到admin.ini这样一个文件,这个文件和xavi在同一个目录下面,如果直接双击xavi.exe这个程序可以正常运行的,但是通过上面的语句,就会出现"OE (File Open Failed:ADSL Admin Read Error)",这个错误的提示和没有admin.ini文件是一样的,但是上面那段代码调用其他的任何exe文件都正常,是不是这个xavi.exe文件被写保护了,不能被其他的应用程序调用,只能通过鼠标双击来执行,有没有这种可能,或者有其他的办法可以直接调用这个xavi.exe文件,请高手指点

2楼: 在程序中,你设置当前目录为xavi.exe所在目录,就可以解决了 如用友企业管理软件

3楼: 将INI文件拷贝到主程序目录下。省事的方法

4楼: ShellExecute(handle,nil,''D:\7768auto\7768auto\xavi_debug\xavi.exe'',nil,''D:\7768auto\7768auto\xavi_debug\'',sw_ShowNormal);
解决了马上给分啊[:D][:D]。

5楼: 你程序调用xavi.exe,这个时候你的当前文件夹是你现在这个程序的文件夹,所以你xavi.exe用到当前文件夹的时候会出错。具体解决方法如上面两位老兄所说

6楼: 楼上说的都正确。
主要是你调用delphi的程序时,系统认为你的当前目录在这里,所以该程序调用xavi。exe时就在这里查找ini文件,当然就找不到了。