• 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API

用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才行。不知什么原因,请各位帮忙。急啊。
...全文
131 点赞 收藏 7
写回复
7 条回复
todouwang 2005年03月21日
查找,到第二个\就不记录了,好办
回复 点赞
才子鸣 2005年03月21日
up
回复 点赞
njbaige 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日
倒查上找到第一个\就可以了呗
回复 点赞
发动态
发帖子
Delphi
创建于2007-08-02

1474

社区成员

26.2w+

社区内容

Delphi 开发及应用
社区公告
暂无公告