ShellExecute问:为什么同样的代码一个文件能显示一个文件不能显示?

fengzsz 2005-07-29 07:39:23
uses shellapi

procedure TForm1.newClick(Sender: TObject);
begin
//what'snew
if FileExists(ExtractFilePath(Application.ExeName)+'whatsnew.txt')=True then
ShellExecute(Handle,'open','NOTEPAD.EXE','whatsnew.txt',
'ExtractFilePath(Application.ExeName)',SW_SHOWMAXIMIZED)
else
showmessage('文件丢失或文件名不正确!');
end;


procedure TForm1.chmClick(Sender: TObject);
begin
//显示使用手册
if FileExists(ExtractFilePath(Application.ExeName)+'MMSHelp.chm')=True then
ShellExecute(Handle,'open','hh.exe','MMSHelp.chm',
'ExtractFilePath(Application.ExeName)',SW_SHOWMAXIMIZED)
else
showmessage('帮助文件丢失或文件名不正确!');
end;

最开始点击菜单后两个文件都能显示,一切正常。但后来不知道为什么两个文件都不能显示。当打开'whatsnew.txt'时记事本内容为空,提示打不开文件,要不要新建,点是后把原来的文件内容复制进去后再点击就能显示了,但'MMSHelp.chm'怎么弄都打不开,提示“不能打开文件:MMSHelp.chm”,但是我用D7新建一FORM,完全相同的代码,MMSHelp.chm就能打开。有没有人知道怎么回事啊?
...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengzsz 2005-07-29
  • 打赏
  • 举报
回复
谢了
smiler007 2005-07-29
  • 打赏
  • 举报
回复
这样试试..

WinExec(pchar('hh.exe mk:@MSITStore:'+ExtractFilePath(Application.Exename)+'MMSHelp.CHM'), SW_SHOW);

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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