私はユニバーサルWindowsアプリケーションを構築しており、ユーザーがプログラムから脱出できないようにデスクトップをロックダウンする必要があります。ですから、一時的にWindowsキーとCtrl + Alt + Delを無効にする必要があります。UWPの実行中にWindowsキーを無効にする
私はそうのようなイベントハンドラを追加することができました:
Window.Current.CoreWindow.KeyDown += (s, e) =>
{
if(e.VirtualKey == VirtualKey.LeftWindows || e.VirtualKey == VirtualKey.RightWindows)
{
e.Handled = true;
}
}
しかし、KeyPressイベントはまだ発生させます。
また、私はuser32のlibからのWindowsフックと思われるものを使用してメソッドを見つけました。
[DllImport("user32", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool RegisterHotKey(IntPtr hwnd, int id, uint fsModifiers, uint vk);
[DllImport("user32", SetLastError = true)]
public static extern int UnregisterHotKey(IntPtr hwnd, int id);
[DllImport("kernel32", SetLastError = true)]
私はいくつかのサンプルコードhereを見つけましたが、私はシンプルなWindowsのキーを押すためにそれを微調整する必要があると思います。
(例のリンクで使用されているように)Windowsのフック方法はどうやって行くのですか?
コードでCtrl + Alt + Delを無効にすることはできません。したがって、これは致命的です。代わりに、この問題をグループポリシーを使用して解決してください。それは管理上の問題であり、プログラミング上の問題ではないので、Server Faultに関する質問をしてください。 –