SDA-3451 Windows - Accessibility - Bringing welcome screen foreground (#1293)

This commit is contained in:
Salah Benmoussati 2021-11-15 14:15:15 +01:00 committed by GitHub
parent 68cdbca3c7
commit 46b7b69c8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,7 @@
using WixSharp; using WixSharp;
using System;
using System.Drawing; using System.Drawing;
using System.Runtime.InteropServices;
namespace Symphony namespace Symphony
{ {
@ -20,19 +22,22 @@ namespace Symphony
InitializeComponent(); InitializeComponent();
} }
[DllImport("user32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd);
void dialog_Load(object sender, System.EventArgs e) void dialog_Load(object sender, System.EventArgs e)
{ {
SetForegroundWindow(this.Handle);
// Populate the dynamic UI elements that can't be set at compile time (background image and // Populate the dynamic UI elements that can't be set at compile time (background image and
// the label containing user name) // the label containing user name)
this.backgroundPanel.BackgroundImage = Runtime.Session.GetResourceBitmap("WixUI_Bmp_Dialog"); this.backgroundPanel.BackgroundImage = Runtime.Session.GetResourceBitmap("WixUI_Bmp_Dialog");
this.radioButtonCurrentUser.Text = "Only for me (" + getUserName() + ")"; this.radioButtonCurrentUser.Text = "Only for me (" + getUserName() + ")";
if( Runtime.Session["ALLUSERS"] != "" ) if (Runtime.Session["ALLUSERS"] != "")
{ {
this.radioButtonAllUsers.Checked = true; this.radioButtonAllUsers.Checked = true;
} }
else else
{ {
this.radioButtonCurrentUser.Checked = true; this.radioButtonCurrentUser.Checked = true;
} }
// Detect if Symphony is running // Detect if Symphony is running
@ -60,11 +65,11 @@ namespace Symphony
{ {
// Install for all users // Install for all users
Runtime.Session["MSIINSTALLPERUSER"] = ""; // per-machine Runtime.Session["MSIINSTALLPERUSER"] = ""; // per-machine
Runtime.Session["INSTALLDIR"] = Runtime.Session["PROGRAMSFOLDER"] + @"\Symphony\" + Runtime.ProductName; Runtime.Session["INSTALLDIR"] = Runtime.Session["PROGRAMSFOLDER"] + @"\Symphony\" + Runtime.ProductName;
} }
// Set INSTALLDIR // Set INSTALLDIR
if( Runtime.Session["APPDIR"] != "" ) if (Runtime.Session["APPDIR"] != "")
{ {
// If APPDIR param was specified, just use that as is // If APPDIR param was specified, just use that as is
Runtime.Session["INSTALLDIR"] = Runtime.Session["APPDIR"]; Runtime.Session["INSTALLDIR"] = Runtime.Session["APPDIR"];
@ -92,8 +97,8 @@ namespace Symphony
void cancel_Click(object sender, System.EventArgs e) void cancel_Click(object sender, System.EventArgs e)
{ {
// TODO: Localization // TODO: Localization
if( System.Windows.Forms.MessageBox.Show("Are you sure you want to cancel Symphony installation?", if (System.Windows.Forms.MessageBox.Show("Are you sure you want to cancel Symphony installation?",
"Symphony Setup", System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes ) "Symphony Setup", System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
{ {
Shell.Cancel(); Shell.Cancel();
} }