关于delphi执行外部程序的问题,急~~~~~~~~~~~在线等待!!!!(100分)

  • 主题发起人 summerlian
  • 开始时间
S

summerlian

Unregistered / Unconfirmed
GUEST, unregistred user!
程序有两个按钮,第一个按钮执行一个外部程序,外部程序启动后,按第二个按钮,弹出一个
Opendialog,让用户选择一个路径,比如说A盘,从其中导入若干数据进入,
导完后,再按第一个按钮,试图再次执行外部程序时,却一个劲的读软盘,提示启动外部程序
失败.
代码如下:
execdir:=main.pathstr+'Card/callIDcom1.exe';
main.pathstr是系统启动时得到的外部程序所在路径
ShellExecute(0, 'open',pchar(ExecDir), nil, nil, 0);
我showmessage出execdir的值是正确的路径,但执行时,却总是在读A盘,请各位高手指教!
给100分,第一次来向各位富翁请教,请多支持
 
另外:这个问题在windows98下不会出现,
当我读过A盘再去启动外部程序时,程序依然会启动,

在2000下,就会出现,各位经验丰富者,可遇到这样的问题?
 
是你的opendialog控件修改了当前程序路径,所以你的第一个按纽不能
找到程序了.应该知道怎样修改吧?
 
你要做一下判断呀!
如果程序在运行中,先把程序结束掉,再运行!!
 
试试这个
WinExec('C:/mypath/aaa.exe', SW_SHOWNORMAL);
 
那种执行方式无所谓

你应该再执行的程序的代码中给opendialog设初值,非a盘
 
我不知道怎么修改,
请各位指教?
 
把options中ofnochangdir属性改为true。
 
接受答案了
 
多人接受答案了。
 
顶部