問題タブ [spy++]

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.

0 投票する
0 に答える
154 参照

c - キーが押されたときに、システムが WM_KEYDOWN を送信する前にウィンドウにメッセージを送信するのは誰ですか?

jp2launcher.exe で実行される Java チャット アプレットがあり、キーボード メッセージをシミュレートしてチャット ウィンドウに送信する簡単なツールを作成したいのですが、失敗しました。:(

Microsoft spy++ を使用してチャット ウィンドウに送信されたメッセージを観察したところ、キーを押したときにチャット ウィンドウがWM_KEYDOWN, WM_CHAR,メッセージの前に追加メッセージを受信することがわかりました。WM_KEYUP

これは、「ENTER」キーを押したときに通常のウィンドウが受け取る一連のメッセージです。

通常のメッセージ

これは、「ENTER」キーを押したときに Java アプレット ウィンドウ ウィンドウが受け取る一連のメッセージです。

正常でないメッセージ

お気づきのように、Java ウィンドウは「誰か」から別の登録済みメッセージを受け取りました。すべてのシステム メッセージの直前。システムの前に誰がこのメッセージを送信していますか? そしてそれはどういう意味ですか?

追加情報: PostMessage api関数を使用してメッセージを送信するWM_KEYDOWNWM_KEYUP、ウィンドウが表示されてフォーカスされ、これらの追加メッセージがspy ++に表示される場合にのみ成功しますが、チャットウィンドウが最小化されているか、フォーカスがないときに投稿すると、メッセージのみがこれらの余分なメッセージではなく、ウィンドウと呪われたキーは、想定どおりにウィンドウに影響を与えません。

システムがメッセージを送信する直前に、これらの余分なメッセージを送信しているのは誰WM_KEYDOWNですか?

0 投票する
1 に答える
3196 参照

c# - 非表示のシステム トレイ アイコンを表示するウィンドウの非表示のウィンドウ ハンドルを取得する方法

ボタンを押したときに表示される隠しウィンドウのハンドルをキャッチするアプリケーションをC#で作成しようとしています(「隠しアイコンを表示」)。

すべての通知領域を表示しないと、システム トレイ アイコンが非表示になります。

それらを表示するボタン (「非表示のアイコンを表示」) を押すと、新しいウィンドウが表示され、その中にすべてのアイコンが表示されます:緑の円でマークされた非表示のウィンドウ
ここに画像の説明を入力

この非表示のウィンドウのハンドルを取得するにはどうすればよいですか?

Spy++ を使用したとき、キーボードの他のキーをクリックするとウィンドウが消えるため、このウィンドウを見つけることができませんでした。

そこで、ボタンのハンドルを見つけて、ログ オプションを使用しました。
ここに画像の説明を入力

ログの結果では、通常のシステム トレイ ツールバーの Windows ハンドルのみが表示されました。
ここに画像の説明を入力

では、どうすれば非表示のウィンドウのハンドルをキャッチできますか (質問の冒頭で緑色でマークしたもの、最初の画像)。

参照 (見つけたが役に立たなかったリンク):
Microsoft Spy++ を使用して通知アイコンのプロパティをキャプチャする方法
windows7 の非表示のトレイ アイコンに関する情報を取得する

0 投票する
0 に答える
244 参照

c# - Windows APIを使用してテキストボックスコントロールのみを取得するには?

他のアプリケーションからコントロールを取得する必要がありますが、テキスト ボックス コントロールのみを取得する必要があります。

どうすればいいですか?

私は現時点でこのコードを持っています:

問題は、.NET で作成されたアプリケーションの場合、TextBox が他のクラスを使用して作成されるため、見つからないことです。

Spy++ を使用すると、テキスト ボックス コントロールに WindowsForms10.EDIT.app.0.141b42a_r14_ad1 というクラスがあることがわかりました。

それは、クラス名を使用できないことを示唆していますか、またはクラス名内の EDIT という単語を安全に探すことができますか?

0 投票する
1 に答える
1007 参照

c# - GetWindowText は、ボタンのウィンドウ キャプションのみを表示しますが、ラベルは表示しません

GetWindowText 関数を使用して、エラー メッセージの C# を使用してウィンドウ キャプションを取得しようとしています。ダイアログ内のすべてのボタンのウィンドウ キャプションを取得できますが、ラベルのテキストは取得できません。Spy++ を使用してダイアログを識別し、ウィンドウ キャプション フィールドにはダイアログのラベルのメッセージが入力されていますが、このウィンドウ ハンドルの GetWindowText は空の文字列を返します。ボタンのウィンドウ ハンドルと比較すると、ウィンドウ キャプションを含む文字列が得られます。これは私が使用するコードです:

このコードは、ラベルのウィンドウ キャプションを除くすべてのウィンドウ キャプションを提供します。Spy++ は次のようになります。 ここに画像の説明を入力

ここに画像の説明を入力

このような方法でラベルのウィンドウ キャプションを取得できない理由は何ですか? ありがとう!