delphi 如何检测MS Word文档是否已关闭

kxkpmulp  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(171)

我已经使用下面的代码通过MS Word打开我的文档:

ShellExecute(Handle, nil,
  PChar(ExtractFilePath(Application.ExeName)+'Data\Quotation-Terms-1.rtf'),
  nil, nil, SW_SHOWNORMAL);

并且我希望在用户关闭MSWord文档后将文档加载到TRichEdit控件中。
谢谢你,谢谢。

dm7nw8vv

dm7nw8vv1#

尝试将文件作为TFileStream打开,并将fmShareExclusive作为权限参数传递。如果打开成功,则文件未在Word中打开。

Success := FALSE;
try
    fs := TFileStream.Create(ExtractFilePath(Application.ExeName)+'Data\Quotation-Terms-1.rtf',
                             fmOpenReadWrite,
                             fmShareExclusive);
    Success := TRUE;
except
    on E:EFOpenError do
         Success := FALSE;
    else
         raise;
end;
if success then begin
    // More code
end;

在测试之前,您可能需要等待几秒钟,以便Word有时间加载文件。

相关问题