在 32 位 VCL 应用程序中,我有一个按钮,单击时会显示应用程序的 Windows 属性对话框:
procedure TformMain.btnShowPropertiesDialogClick(Sender: TObject);
begin
ShowPropertiesDialog(ParamStr(0));
end;
procedure ShowPropertiesDialog(FileName: string);
var
sei: Winapi.ShellAPI.TShellExecuteInfo;
begin
System.FillChar(sei, SizeOf(sei), 0);
sei.cbSize := System.SizeOf(sei);
sei.lpFile := PChar(FileName);
sei.lpVerb := 'properties';
sei.fMask := SEE_MASK_INVOKEIDLIST;
Winapi.ShellAPI.ShellExecuteEx(@sei);
end;
但是,当应用程序窗口处于“停留在顶部”模式 ( Self.FormStyle = fsStayOnTop
) 时,Windows 属性对话框会隐藏在应用程序窗口的后面!
有没有办法在保持顶部模式下显示 Windows 属性对话框?