mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-15 20:19:17 +08:00
3b09276395
if no disable control box, sometimes awake Wox with alt+space hotkey, the first input key is swallowed by system
32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Runtime.InteropServices;
|
|
using System.Windows;
|
|
|
|
namespace Wox.Helper
|
|
{
|
|
public class WindowIntelopHelper
|
|
{
|
|
private const int GWL_STYLE = -16; //WPF's Message code for Title Bar's Style
|
|
private const int WS_SYSMENU = 0x80000; //WPF's Message code for System Menu
|
|
|
|
[DllImport("user32.dll", SetLastError = true)]
|
|
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
|
|
|
|
[DllImport("user32.dll")]
|
|
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
|
|
|
|
/// <summary>
|
|
/// disable windows toolbar's control box
|
|
/// this will also disable system menu with Alt+Space hotkey
|
|
/// </summary>
|
|
public static void DisableControlBox(Window win)
|
|
{
|
|
var hwnd = new System.Windows.Interop.WindowInteropHelper(win).Handle;
|
|
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
|
|
}
|
|
}
|
|
}
|