キーを押すとAlt、通常、フォーカスはウィンドウのメニューに移動します。グローバルに無効にする必要があります。私のアプリケーションはAltキーで動作するためです。ユーザーがキーと組み合わせてAltキーを押すと、アプリケーションはアクティブなアプリケーションに別のキーを送信します。Altそのため、メニューが開いたときに無視する必要があります。
プログラミングは初めてで、VB.Net または C# コードを探しています。
キーを押すとAlt、通常、フォーカスはウィンドウのメニューに移動します。グローバルに無効にする必要があります。私のアプリケーションはAltキーで動作するためです。ユーザーがキーと組み合わせてAltキーを押すと、アプリケーションはアクティブなアプリケーションに別のキーを送信します。Altそのため、メニューが開いたときに無視する必要があります。
プログラミングは初めてで、VB.Net または C# コードを探しています。
私の最初の答えは、プログラムのキーを使用せず、代わりに使用することです。「正常な」ことが起こらないようにブロックすると、通常、将来的に痛みが生じます。AltCtrl
ただし、キーを使用する必要がある場合は、メッセージフィルターを使用してアプリケーションレベルでキーを傍受しようとするこの記事Altを確認します。
それでも探していることがうまくいかない場合は、グローバルフックを調べる必要があるかもしれません。このリンクを使用すると、パスを開始できます。グローバルフックは一般的に悪と見なされるため、上記の2つの提案が機能しない場合にのみこれを使用する必要があります。フックをアンインストールする必要があります。そうしないと、奇妙なキーボードの問題を修正するためにコンピューターを頻繁に再起動する必要がある場合があります。
これは私のために働く:
private class AltKeyFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
return m.Msg == 0x0104 && ((int)m.LParam & 0x20000000) != 0;
}
}
そして、次のようにメッセージ フィルターを追加します。
Application.AddMessageFilter(new AltKeyFilter());