diff --git a/InvisPopup.Designer.cs b/InvisPopup.Designer.cs index a40615f7..1ae7d0e6 100644 --- a/InvisPopup.Designer.cs +++ b/InvisPopup.Designer.cs @@ -30,13 +30,14 @@ { this.SuspendLayout(); // - // Popup + // InvisPopup // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(148, 0); - this.Name = "Popup"; - this.Text = "Popup"; + this.Name = "InvisPopup"; + this.Opacity = 0D; + this.Text = "InvisPopup"; this.ResumeLayout(false); } diff --git a/InvisPopup.cs b/InvisPopup.cs index 8a4ad712..e2afc247 100644 --- a/InvisPopup.cs +++ b/InvisPopup.cs @@ -14,13 +14,15 @@ namespace VRCX { public InvisPopup() { + StartPosition = FormStartPosition.Manual; + //Location = new Point(-Height - 100, 0); + Location = new Point(0, 0); InitializeComponent(); } - protected override void SetVisibleCore(bool value) - { - this.WindowState = FormWindowState.Minimized; - base.SetVisibleCore(value); - } + //protected override void SetVisibleCore(bool value) + //{ + // base.SetVisibleCore(value); + //} } } diff --git a/WinformThemer.cs b/WinformThemer.cs index 4bbf9a2e..69ee6f8e 100644 --- a/WinformThemer.cs +++ b/WinformThemer.cs @@ -22,8 +22,8 @@ namespace VRCX /// public static void SetGlobalTheme(int theme) { - if(currentTheme == theme) - return; + //if(currentTheme == theme) + // return; currentTheme = theme; @@ -50,14 +50,15 @@ namespace VRCX public static void SetThemeToGlobal(List
forms) { + var activeForm = Form.ActiveForm; InvisPopupHandler.Show(); foreach(Form form in forms) { SetThemeToGlobal(form.Handle); - - if (form.WindowState != FormWindowState.Minimized) - { + form.Activate(); + //if (form.WindowState != FormWindowState.Minimized) + //{ //attempting to refresh this god forsaken title bar //Minimize, Downside: shows animation @@ -65,12 +66,13 @@ namespace VRCX //PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_RESTORE); //Hide, Downside: reorders window to last in taskbar if not pinned - PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_HIDE); - PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_SHOW); - } + //PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_HIDE); + //PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_SHOW); + //} } - InvisPopupHandler.Close(); + if(activeForm != null) + activeForm.Activate(); } private static void SetThemeToGlobal(IntPtr handle) @@ -110,6 +112,11 @@ namespace VRCX instance = new InvisPopup(); instance.Show(); instance.Activate(); + //PInvokeFun.ShowWindow(instance.Handle, (int)PInvokeFun.SW_TYPES.SW_SHOWNORMAL); + //PInvokeFun.SetForegroundWindow(instance.Handle); + //instance.Hide(); + //instance.Show(); + //instance.Activate(); } internal static void Close() @@ -130,6 +137,10 @@ namespace VRCX [DllImport("user32.dll")] internal static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); + + [DllImport("user32.dll", SetLastError = true)] + internal static extern bool SetForegroundWindow(IntPtr hwnd); + internal enum SW_TYPES { SW_HIDE = 0,