問題タブ [findwindow]

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 投票する
1 に答える
405 参照

delphi - 別のアプリケーションのモーダル ウィンドウに項目を追加する最良の方法は?

別のアプリケーションのモーダル ウィンドウに項目を追加する最良の方法は何ですか?

これのために(概念の証明として)私が書いた簡単な例では、些細なバックグラウンド プロセスに対してプロセッサに負荷がかかりすぎると思われる方法を使用していますが、別の方法を思い付くのに苦労しています。

たとえば、モーダル ウィンドウに処方データを入力する医師であるとします。11 回の補充で 30 日間使用すると、患者は 3 回の補充で 90 日が必要だと言います。元のアプリケーション (ソースにアクセスできない) を簡単に変換することはできません。この特定のウィンドウを (タイマーと findwindow を使用して) 監視する小さなユーティリティを作成し、ウィンドウが見つかると、それ自体を表示して、ターゲットのモーダル ウィンドウの空の場所に配置します。「30」ボタンを押すと、Rx は 30 日間書き込まれ、11 回のリフィルが行われ、「90」ボタンを押すと、期待どおりの結果が得られます。モーダル ウィンドウが移動すると、30 および 90 ボタンも一緒に移動します。これは機能しますが、タイマーでfindwindowを繰り返し実行することに伴うオーバーヘッドが心配です。

1) より良い方法はありますか? 2) 私はこれについて心配する権利がありますか? 3) 私のクルーゲがいかに非効率的であるかを笑っていますか?

前もって感謝します - 私はここの人々に非常に感銘を受けました!

0 投票する
2 に答える
3072 参照

winapi - タイトルの一部による WinApi FindWindow

ウィンドウのタイトルとクラス名の一部しかわからない場合、ウィンドウの記述子を取得するにはどうすればよいですか?

0 投票する
3 に答える
947 参照

delphi - モーダルダイアログボックスを表示せずにアプリを閉じるにはどうすればよいですか?

PDFを作成した後、オプションでPDFを開くことができるアプリがあります。同じ名前で2つのレポートが連続して生成される場合、acrobatの最初のコピーでPDFが開いていると、2回目の試行は失敗します。そのため、PDFを作成する前に、(FindWindowを使用して)ドキュメント名のウィンドウを確認します。見つかった場合は、SendMessageWM_Closeを発行します。

これは問題なく動作しますが、他のテストを行っており、Wordを使用してPDFを「編集」し、PDFファイルを書き込めない場合のアプリの動作をテストできるように開いたままにしました。これで、アプリがウィンドウを閉じようとすると、Wordは「保存しますか」ダイアログをポップアップします。[キャンセル]をクリックすると、Wordは開いたままになり、アプリは続行され、書き込みできないファイルに遭遇したときに、アプリが適切に動作することをテストできます。

すべて良好ですが、SendMessage WM_CLOSEを使用して別のアプリを閉じると、他のアプリがモーダルダイアログをポップアップした場合に、私のアプリが引っ掛かるという事実を警告しました。これを回避する方法はありますか?つまり、他のアプリを閉じるためのより強力な(ただしあまり強力ではない)方法はありますか?または、「必要に応じて閉じてキャンセルをクリックしてください」。または、非同期メッセージを使用する必要がありますか?

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

c# - C#でspy++の関数「find window...」を作る

spy++の同じ機能「窓を探す…」をC#で作りたいと思っています。私はWINAPIのこの機能を試しました:

http://msdn.microsoft.com/en-US/library/ms633558.aspx しかし、無効または非表示になっているため、すべての要素を取得することはできません。

たとえば、プログラマー モードのウィンドウ 7 電卓では、プログラムが無効になっている場合、プログラムで "ABCDE F" を取得できず、spy++ で取得できます。

編集:私はこれを試しましたが、うまくいきません:

myPoint はマウスの位置です。

私は WINAPI に慣れていないので、あなたの説明は私の理解不足だと思います。ChildWindowFromPointEx 関数の小さな例を持っているか、私のコードが機能していないかを知ることは可能ですか? 答えてくれてありがとう


ループを作成しようとしましたが、ハンドルが他のハンドルの下にあるようですが、ハンドルの子ではないようです。ループは常に同じハンドルを送信し、キー「abcde f」が無効になっている場合は希望の子は送信しません。別のアイデアはありますか?

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

vb.net - 検索ウィンドウのテキスト

外部プログラムからテキストを取得しようとしています。現在、私はこのコードを使用しています:

lngHWND、lngHWNDF、lngChild の両方の値を取得しています。ただし、これらは単なる値 (数値) であり、テキスト自体ではありません。

これは、テキストを取得しようとしているプログラムの画像です。 プログラム

見つかったアイテムからテキストを取得するにはどうすればよいですか?

デビッド

0 投票する
2 に答える
6869 参照

c++ - C ++はHWNDとして処理しますか?


ハンドルをウィンドウ「HWND」に変換できるかと思いました。「FindWindow」メソッドを使用して「PostMessage」関数を呼び出す必要があります。

私は現在調達する必要があります

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

c++ - C ++ FindWindow関数なしでプロセスハンドルを見つける

プロセスハンドルを見つけようとしましたが、

ウィンドウのタイトルが必要です
同じタイトルの tow プロセスがあるとしましょう

0 投票する
2 に答える
1001 参照

delphi - TCreateParams.WinClassNameを変更したり、別の独自のアプリケーションのフォームハンドルを見つける方法を変更しても安全ですか?

私には2つのアプリケーションがあり、最初のアプリケーションは2番目のアプリケーション(これも私自身のもの)からフォームのハンドルを見つける必要がありますが、異なるアプリケーション(インスタンスではなく、異なるアプリケーション)です。私はいくつかのテクニックを見てきましたが、私がやりたいことが安全かどうか、またはこれを行うための効率的な方法は何かを知りたいです。

FindWindowクラス名を渡すことができる関数を使用することを考えていたので、フォームのWinClassNameメンバーをCreateParams一意の値(GUIDなど)に変更すると、大きなウィンドウでこのウィンドウを簡単に見つけることができます。たぶんそれは私のアプリケーションからのものです。

フォームを見つける必要があるアプリケーション:

前のアプリケーションからフォームを見つける必要がある他のアプリケーション:

私の質問は:

のこのメンバーをTCreateParams私が望むものに変更するのは安全ですか、それとも何かで安全ではありませんか?または、独自の別のアプリケーション(アプリケーションインスタンスではなく、独自の別のアプリケーション)からフォームのハンドルをどのように探しますか?

どうもありがとう!

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

hwnd - FindWindow() でウィンドウが見つからない [C++]

これは複雑な質問ではありません。iTunes に属するハンドルが見つかりません。しかし、iTunes はバックグラウンドで実行されていますが、ウィンドウが見つからないというメッセージが表示され続けます。そのため、ウィンドウ名を入力し忘れていないかどうかを確認し続けましたが、spy++ は、正しいウィンドウ名とクラス名を使用していることを指摘しました (以下を参照)。小さな間違いだと思いますが、見つけられないようです。洞察力のある人はいますか?前もって感謝します。

0 投票する
2 に答える
100 参照

c# - dll関数の2つのインスタンスを持ちながら、両方を使用するにはどうすればよいですか?

このような。私は両方が必要です。私がintptrに行くと、それは適切にin​​tに変換できないので、postmessageなどは失敗します。そうでなければ、「handle」を必要とするものはポインタであるはずなので失敗します。

基本的には、intfindwindow関数を使用しながらこれを実行したいと思います。どのようにアイデア?また、Findwindowはハンドルですよね?