Merge pull request #3739 from keymanapp/fix/windows/3666-setup-restore

fix(windows): restore Setup after minimize
This commit is contained in:
Marc Durdin 2020-10-26 15:28:25 +11:00 • committed by GitHub
commit 9400a8909b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View file

@ -615,4 +615,9 @@ object frmRunDesktop: TfrmRunDesktop
OnClick = cbLanguageClick
end
end
object appevents: TApplicationEvents
OnMessage = appeventsMessage
Left = 336
Top = 184
end
end

View file

@ -51,6 +51,7 @@ uses
System.SysUtils,
System.UITypes,
System.Variants,
Vcl.AppEvnts,
Vcl.ComCtrls,
Vcl.Controls,
Vcl.Dialogs,
@ -81,6 +82,7 @@ type
lblActions: TLabel;
cbLanguage: TComboBox;
lblGlobe: TLabel;
appevents: TApplicationEvents;
procedure URLLabelMouseEnter(Sender: TObject);
procedure URLLabelMouseLeave(Sender: TObject);
procedure lblOptionsClick(Sender: TObject);
@ -91,6 +93,7 @@ type
procedure lblLicenseClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure cbLanguageClick(Sender: TObject);
procedure appeventsMessage(var Msg: tagMSG; var Handled: Boolean);
private
g_iCurPos, g_iProgress, g_iProgressTotal: Integer;
g_bCancelInstall, g_bScriptInProgress, g_bForwardProgress, g_bFirstTime, g_bEnableActionData: Boolean;
@ -712,6 +715,17 @@ begin
(Sender as TLabel).Font.Style := [fsUnderline];
end;
procedure TfrmRunDesktop.appeventsMessage(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_SYSCOMMAND) and (Msg.wParam = SC_RESTORE) then
begin
// Handle the case where Win+M pressed, window never restores
// Only really happens with Splash.
PostMessage(Handle, WM_SHOWWINDOW, 1, SW_PARENTOPENING);
end;
end;
procedure TfrmRunDesktop.BackupKey(Root: HKEY; Path: WideString); // I2642
var
regRead: TRegistryErrorControlled; // I2890