裏面のボタンをクリックするかダブルクリックすると、SurfaceペンからWindowsKey + F20/19という信号が送信され、アプリケーションでこれをキャプチャします。Windows修飾キーを押してもKeyboard.ModifiersがNoneになります
私はWindowsキーが押されたことを検出することに関してsome questionsを見ましたが、これはC#ではPInvokeなしでは不可能と思われます。
ただし、これが修正プログラムとしてWindowsキーにも当てはまるかどうかはわかりません。そうですが、確かに知りたいのですが。
ModifierKeys enumドキュメントにはWindowsキーが記載されていますが、このキーに関する特別な注意はありません。
だから私も、このコードには、メインウィンドウのOnPreviewKeyDownを有線しました:
private void MainWindow_OnPreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.SystemKey == Key.F10 &&
e.KeyboardDevice.Modifiers.HasFlag(System.Windows.Input.ModifierKeys.Windows)
{
Console.WriteLine("Succes!");
}
}
このコードは、私の頭の中にALT修飾キーを聴く場合は、しかし、私はWindows+F10
を押すとe.KeyboardDevice.Modifiers
はNone
に等しいので、もし作品状態は失敗します。
紛失しているものがあるか、PInvokeルートに移動する必要がありますか?
あなたは絶対的に正しいです。 PInvokeが必要な複数のアカウントを読んでいるので、私はリンクした質問でその答えを無視しました。私の悪い:)。 –
ofc、私はできる前にもう一分待たなければならなかった:) –