問題タブ [findwindowex]
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.
api - Win32 API を使用して、子ウィンドウ (3 レベルの深さ) の子ウィンドウの子 HWND を見つける方法は?
プロセスの 1 つに次の Window 階層があるとします。
の HWND を見つけるにはどうすればよいChild-Child Window
ですか?
クラスFindWindow
で Win32 API 関数を使用しようとしましたが、関数は子ウィンドウを見つけません。XYZ_Renderer
FindWindow
次に、 を使用FindWindow
して を見つけようとしましたがMain Window
、成功しましたが、その後、は の子ではないため、 を使用してFindWindowEx
のみ見つけることができます。Child Window
Child-Child Window
Main Window
Child Window
1 層深くまで進み、見つかったらFindWindowEx を呼び出すことができると思います。
しかし、それを行う前に、簡単に見つける方法があるのではないかと考えましたChild-Child Window
。
vb.net - FindWindow FindWindowEx
私は別のプログラムでボックスを見つけてそれに焦点を合わせるプログラムを書きました。これが完了すると、キーが送信され、このボックスに保存されます。
FindwindowとFindwindowExを使用してボックスを検索していますが、少し問題があります。
ウィンドウが最初のTPanelまでずっと同じであることに気付いた場合。その後、3Tpanelクラスがあります。3Tpanelクラスの後に、複数のTttgEditクラスがあります。
選択したいクラスをプログラムに教えるにはどうすればよいですか?これがこれまでの私のコードです。
デルケア
ソース
左側の数字hWndは、画面を開閉するたびに変わるので、静的な数字としては使えません。どんな助けでも素晴らしいでしょう。
c++ - FindWindowEx がすべてのボタンを検出しないのはなぜですか?
自動インストーラーを作成することになっています。起動するプログラムだけで、ユーザーが何も触れずに、インストールウィザードをすべて単独で実行する必要があります。
私が現在取り組んでいるプログラムは、Cygwin と呼ばれます。そして、私がやりたいことは、インストールが完了するまで「次へ」ボタンを何度もクリックすることです。VBS を使用できることはわかっていますし、C# を使用できることもわかっています。しかし、別のプログラムでどのように機能するかの例があり、C++ の Cygwin に適応させようとしています。
これは、ボタンを見つけるために使用している関数であり、次のステップではクリックされるはずです。hwndParent にプログラム ウィンドウがあり、正常に動作します。hwndChildAfter と lpszClass は「NULL」で、lpszWindow はボタンの名前です。これは、ボタン「Abbrechen」(ドイツ語でキャンセル)で機能します。しかし、その名前を "Weiter" (ドイツ語で次へ) に変更すると、機能しなくなります。彼はそれを見つけられません。「Weiter」の書き方に関係があると思います。その唯一の言葉ではありません。式全体は "Weiter >" です。もちろん、"Abbrechen" の場合と同じように、式全体を "" で囲んで lpszWindow に入れます。しかし、私が言ったように、彼はそれを見つけられません。私はそれを書くためのすべてのバリエーションを試しましたが、うまくいきません。
">" または " " (スペース) が問題であり、それが原因で読めないことを誰かが知っていますか? もしそうなら、それを回避する方法はありますか?または、マウスのクリックをどこに設定するかをプログラムに伝えるために使用できるボタンまたは同様のもののIDを取得することは可能ですか。
私が言ったように、C++ は実際にはこのタスクに最適な言語ではないことを知っています。しかし、なぜ "Abbrechen" で機能し、なぜ "Weiter >" で機能しないのかを知りたいです。
だから誰かが解決策を持っていれば、私はとても感謝しています。ありがとう!
c# - ボタンのクリック後に SendMessage がスタックする
指を置くことができない奇妙な問題。メイン ウィンドウを検索し、「開始」というキャプションを持つボタン コントロールを検索します。開始を見つけてボタンクリックを送信した後、ただ座ってそれを通過することはないため、コンソールに「Leaving loop」が表示されることはありません。
ボタンが押されるとメッセージ ボックスが表示され、このコード セクションの外で引き続き回答します。奇妙なことに、そのボックスに手動で回答すると、NativeMethods.SendMessage(start, BM_CLICK, IntPtr.Zero, ""); を通過します。そして「Leaving Loop」を見ると、それはすべて幸せで、その道を進んでいます。
ここで何が欠けていますか?これを十分に説明したことを願っています。
}
c# - 子ダイアログ ウィンドウの FindWindowEx
子ダイアログ ウィンドウのハンドルを取得しようとしています。FindWindowEx を使用してみましたが、うまくいきませんでした。代わりに、FindWindow が機能しました。
次のコードを使用して、ビジュアル スタジオのオプション ウィンドウで実験を行いました。
私の理解では、FindWindowEx は動作するはずでした。これは子ウィンドウです。
Windows XP を実行していますが、FindWindowEx(vsHandle, IntPtr.Zero, "#32770", null) も使用してみました。うまくいきませんでした。それを取得する唯一の方法は、同じダイアログを持つ2つの親インスタンスを開くことができるため、FindWindowを使用することです。
これは宣言です:
前もって感謝します。
c# - VB.NET で引数なしでデリゲートを呼び出す
以下のコードを VB.NET に変換しているときに、問題が発生しました。
私の問題は次のとおりです。C#では、私のデリゲートは引数自体として引数なしで呼び出されます。VB.NET でそれを行うにはどうすればよいでしょうか。すべてのオンラインおよびオフラインの翻訳者は、すべてのコードをそのまま翻訳することはできません。私がいる場所を以下に示します。
翻訳が失敗する部分は、最も重要なことです...
ここ:
(「MyEnumThreadWindowsProc」関数を呼び出すための十分な引数がありません)
そしてここ:
(ポインタ)
参考までに全ソースは
これは、Telerik オンライン サービスによって翻訳されたコードです。
c# - アプリケーション内でウィンドウを見つけて閉じる方法
私は次の問題で実行しました:
一部で webbrowser コントロールを使用する C# アプリケーションを開発しました。
特定の状況下で、Web ブラウザー コントロールが「ファイルのダウンロード - セキュリティ警告」というタイトルのウィンドウを開きます。
私の質問は次のとおりです。このウィンドウを見つけて閉じるにはどうすればよいですか?
API の FINWINDOW および FINDWINDOWEX 関数に出くわしましたが、わかりません。
助けてくれる人はいますか?