問題タブ [wm-command]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ui-automation - Windowsでポップアップメニュー項目をプログラムで選択する方法は?
私は小さなウィザードを書いているアプリを持っています。マウスを適切なボタンやメニューに移動してクリックすることで、アプリの小さな部分を自動化し、ユーザーが見ることができるようにしました。
これまでのところ、マウスをツリー項目に移動し、右クリックを送信しています。これにより、TrackPopupMenu を介してメニューがポップアップします。次に、マウスをポップアップ メニューの適切な項目に移動します。私が理解できないのは、メニュー項目を選択する方法です。
左クリックをメニューの所有者ウィンドウに送信しようとしたり、メニューの所有者に WM_COMMAND を送信しようとしたりしましたが、何も機能しません。
メニューはそれ自体がウィンドウだと思いますが、私が持っている HMENU から HWND を取得する方法がわかりません。
クリックをポップアップ メニューに PostMessage する方法について何か考えはありますか?
PS マウスの駆動とメッセージの投稿に別のスレッドを使用しているため、TrackPopupMenu が同期していても問題はありません。
winapi - Windows キーボード アクセラレータと子ウィンドウ
C と Windows API を使用して Windows GUI プログラムを作成しましたが、そのプログラムでキーボード アクセラレータを利用したいと考えています。正しく動作しているいくつかのアクセラレータをセットアップしましたが、フォーカスがプログラムのメイン ウィンドウの子ウィンドウ (リスト ビュー コントロールやステータス バー コントロールなど) に移動すると、キーボード アクセラレータが WM_COMMAND メッセージに変換されているように見えます。メインウィンドウではなく子ウィンドウ用。このため、フォーカスが子コントロールにある場合、メイン ウィンドウの WndProc での適切な WM_COMMAND メッセージの処理は無視されます。
この問題を解決するにはどうすればよいですか?
c++ - ボタンが WM_COMMAND メッセージを送信する原因となるメッセージ
Button をクリックすると、その親に WM_COMMAND メッセージが送信されることはわかっていますが、このメッセージを送信するためにどのようなメッセージを受信するのでしょうか? ボタンのデフォルトの WndProc をオーバーライドしていますが、ボタンは WM_COMMAND メッセージを受信しません。そのため、ボタンが WM_COMMAND メッセージを送信する原因となるメッセージを知る必要があるため、その機能を複製できます。
c++ - Win32 API C++、WM_COMMAND で識別子を受信しない
私はかなり新しい Win32 API C++ プログラマーです。
メニューを作成して Window インスタンスにアタッチする方法を学習しました。私が抱えている問題は、MenuItem 識別子が送信されていないようです。
例: 私のメニュー項目 File>>Exit は、WM_COMMAND で識別子 ID_FILE_EXIT を送信することになっています。しかし、どこかで、MSG スイッチがその識別子を受信していません。つまり、メニュー項目が機能しません。
リソース.h:
リソース.rc:
main.cpp(抽出) - msg switch ステートメント:
c# - グローバル WM_COMMAND メッセージをキャッチする方法はありますか?
次のようなメッセージを使用する必要があるWPFアプリを作成しています
APPCOMMAND_MEDIA_PLAY_PAUSE
APPCOMMAND_MEDIA_NEXTTRACK
- 等...
実行中のすべてのスレッドからこれらのメッセージをキャッチする必要があります (グローバルを意味します)。これらのメッセージをグローバルにキャッチするにはどうすればよいですか?
visual-c++ - WM_COMMAND メッセージの送信者を特定する方法は?
VS 2010 c++ を使用しています。コントロール ID の同じ値を共有する 126 個の同一のプッシュボタン コントロールの配列を含むダイアログ ウィンドウがあります。
ボタンがクリックされ、ホスト ダイアログ ウィンドウが結果の WM_COMMAND メッセージを受信した場合、ダイアログ ウィンドウはどのプッシュボタンが押されたかをどのように識別できますか? 126 の異なるコントロール ID 値を使用できましたが、もう少し簡潔なものを望んでいました。
誰でも助けることができますか?
c# - [名前を付けて保存] ダイアログが送信者をブロックするのはなぜですか?
私のプログラムの目的は、メモ帳のメニューの[名前を付けて保存]項目を介して、メモ帳の[名前を付けて保存]ダイアログをトリガーすることです。
上記のコードを実行すると、メモ帳の [名前を付けて保存] ダイアログが表示され、コンソールに "Done!" というログが記録されます。ユーザーが [保存] ボタンをクリックするまで。なぜ私のプログラムは待たなければならないのですか? それを避ける方法は?
c# - 他のプロセスの wm_messge (または wm_command) を追跡する方法はありますか?
私のコンピューターは、Google Chrome を開くたびに閉じるウイルスに感染しました。インターネットで見つけたすべての関連ツールとマルウェアの削除を試しましたが、問題は解決しません。
ここで、他のプロセス(または少なくともツールでランチするクロムプロセス)wm_message(またはwm_command)を追跡するツール(C#.NETを使用)を作成して、どのプロセスがwm_messageを送信して閉じるかを確認したいと考えていますその後、それを削除します。
プロセスが受け取る wm_messages を取得する方法はありますか?