深夜提问:如何打开本可执行程序下已有的一个Word文件? ( 积分: 200 )

  • 主题发起人 主题发起人 nansha
  • 开始时间 开始时间
N

nansha

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi做了一个程序,运行后,我把编译好的可执行程序“abc.exe”和一个已有的Word文件“abc.doc”放在同一个目录下,即/abc/abc.exe,/abc/abc.doc,由于我的abc文件夹经常拷贝,不固定,我该如何在任何机子上按下按钮时打开Word程序并打开abc.doc?
请帮忙,特备200小资略表谢意!
 
我用Delphi做了一个程序,运行后,我把编译好的可执行程序“abc.exe”和一个已有的Word文件“abc.doc”放在同一个目录下,即/abc/abc.exe,/abc/abc.doc,由于我的abc文件夹经常拷贝,不固定,我该如何在任何机子上按下按钮时打开Word程序并打开abc.doc?
请帮忙,特备200小资略表谢意!
 
按钮事件里面增加代码:

uses ShellApi;

……

procedure TForm1.Button1Click(Sender: TObject);
var FileName:string;
begin
FileName:=ExtractFilePath(Paramstr(0))+'abc.doc'; //获取doc文件路径(当前路径+abc.doc)
if FileExists(FileName) then //判断文件是否存在
ShellExecute(0,nil,PChar(FileName),nil,nil,SW_NORMAL); //打开abc.doc
end;

给分,呵呵
 
ShellExecute(0, 'open', PChar(ExtractFilePath(Application.Exename)+'abc.doc'), '', '', SW_SHOW);

要uses ShellApi 单元
 
ParamStr(0) 和 Application.ExecName 都是返回当前执行程序的带全路径的文件名
ExtractFilePath(A) 返回A的路径尾部带'/'
上面有两个例子.嘿嘿
 
谢谢3位的关心和帮助!200小资奉上,希望别嫌少!
 
后退
顶部