用shellExecute打开一个exe文件,为什么第二次就打不开了

xrhone 2005-03-21 10:46:35
我有两个delphi的exe文件,分别为main.exe,base.exe
我现在要在main.exe中调用base.exe
调用方法如下:

PathStr:=ExtractFilePath(Paramstr(0));
pathStr:=pathstr+'\'+'base.exe';
ShellExecute(0,nil.pchar(pathstr),nil,nil,SW_SHOW);

当第一次调用时能打开base.exe,但当我关闭base.exe后再用main.exe打开就打不开了,没任何反映。
要重打开main.exe才行。不知什么原因,请各位帮忙。急啊。
...全文
326 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
todouwang 2005-03-21
  • 打赏
  • 举报
回复
查找,到第二个\就不记录了,好办
才子鸣 2005-03-21
  • 打赏
  • 举报
回复
up
科技互联人生 2005-03-21
  • 打赏
  • 举报
回复
关键是定位
程序里面的路径问题撒~~
xrhone 2005-03-21
  • 打赏
  • 举报
回复
自已搞定了。可惜没人回答。
现在改问一个简单的了怎么路径'c:\source\ba'返回成'c:\source'
不能用切字符的办法。多搞定就结贴。
senfore 2005-03-21
  • 打赏
  • 举报
回复
这是我写的通过文件名获取父目录的方法,给你参考一下

function getparentdir(fielname:string):string;
{获取父目录的函数}
var
s:string;
begin
result:='';
if ExtractFilepath(filename)=ExtractFiledrv(filename) then
showmessage('这是根目录,没有上层目录了')
else
begin
s:=ExtractFiledir(filename);
for i:=length(s) downto 1 do
if s[i]='\' then
begin
result:=copy(s,1,i);
break;
end;

end;

end;
l_xiaofeng 2005-03-21
  • 打赏
  • 举报
回复
全球最小加密锁—深思精灵 计算所培训中心“五、一”培训免费游长城
Heyongfeng 2005-03-21
  • 打赏
  • 举报
回复
倒查上找到第一个\就可以了呗

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧