2016-12-20 17 views
0

私はユニバーサル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のフック方法はどうやって行くのですか?

+4

コードでCtrl + Alt + Delを無効にすることはできません。したがって、これは致命的です。代わりに、この問題をグループポリシーを使用して解決してください。それは管理上の問題であり、プログラミング上の問題ではないので、Server Faultに関する質問をしてください。 –

答えて

2

私はKiosk apps for assigned accessがあなたの要件に非常に近いと思います。このドキュメントでは、キオスクアプリケーションの実装方法について説明します。 Lockフレームワークを使用して、アクセスを割り当てて、ユーザーがデバイス上の1つのアプリケーションと対話できるようにするキオスクアプリケーションを作成できます。

Set up a kiosk on Windows 10 Pro, Enterprise, or Education

関連する問題