問題タブ [window-handles]
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.
c# - chrome/firefox + アプリケーションの外部ウィンドウ ハンドルを取得するにはどうすればよいですか?
ウィンドウ ハンドルを取得するための PInvoke 関数がいくつかありますが、使用中のウィンドウ ハンドルを正確に取得するにはどうすればよいでしょうか。たとえば、アプリ内の richTextBox1 ウィンドウなどです。それとも Notepad.exe のテキスト ボックス ハンドルですか? また、chrome/firefox の Web ページ上のテキスト。
3つすべてをつかむ例は悪いお尻です...最も高く評価されるのは、Google ChromeまたはFirefox内です。テキストボックスであるか、PAGEであるかに関係なく。
アプリケーション自体のウィンドウでは機能しますが、メモ帳とクロムでは失敗しました
c# - 指定されたウィンドウ ハンドルで、On Handle Rect Change イベントをリッスンします。
ウィンドウへのハンドル (HWND) があり、外接する四角形の変更をリッスンしたいと考えています。GetWindowRect(HWND hWnd, LPRECT lpRect);
nミリ秒ごとにチェックできましたが、それは本当に無駄なようです。
リッスンできる Windows メッセージはありますか?
ウィンドウ ハンドルは、私が所有するウィンドウに対するものではありません。
c# - C# Process.MainWindowHandle は常に IntPtr Zero を返します
これは私のコードです:
問題は、game.MainWindowHandle が常に IntPtr.Zero であることです。ゲームがランチャーによって開始されたことを確認するには、実行されたプロセスの IntPtr を見つける必要があるため、ゲームに IntPtr を送信させ、問題がなければランチャーが応答するようにしました。しかし、そのためには、実行されたプロセスの IntPtr を具体的に知る必要があります。
前もって感謝します!
java - ポップアップ ウィンドウが存在する場合に true をアサートするにはどうすればよいですか?
基本的に、現在のボタンをクリックしたときにポップアップウィンドウが表示された場合に true をアサートできるようにしたいと考えています。どうすればこれを行うことができますか?これが私のコードです:
そのウィンドウに切り替えてから閉じて、元に戻ります。しかし、ウィンドウがポップアップした場合に true をアサートできるようにしたいと考えています。
c# - C# で gnuplot グラフのウィンドウ ハンドルを取得する
gnuplot のチャートを使用する必要がある C# Winforms の GUI プロジェクトに取り組んでいます。ユーザーがチャートをクリックして情報を取得できるように、これらのチャートは動的な形式である必要があります。これは、ウィンドウを開いたままにしておく必要があり、GUI でチャートの画像を単純に使用できないことを意味します。すべてが機能していますが、ユーザーが手動で移動する必要がないように、画面上のどこに gnuplot チャートが表示されるかを制御できるようにしたいと考えています。私は C# プロセスを使用して gnuplot を実行していますが、window ハンドルがあれば user32.dll 関数 MoveWindow を使用するとプロセスのウィンドウを移動できることがわかりましたが、残念ながらグラフはプロセス自体ではなく、によって作成されます。プロセスからgnuplotにコマンドを送信するため、グラフ自体のウィンドウハンドルが見つかりません。
とにかく、これらのグラフのウィンドウハンドルを取得する方法はありますか、または gnuplot によって作成されたグラフが画面に表示される場所を選択する簡単な方法を知っている人はいますか?
私のプロセスがgnuplotグラフを作成する方法を示すサンプルコードを次に示します
前もって感謝します、
-ジェイク
delphi - Delphi ポインタ、配列、ハンドル
カスタム レコードを使用し、レコードの配列を作成してからそのレコードへのポインターを作成するポインターに頭を悩ませることはできません。具体的には、特定のクラス名を持つ各トップ レベル ウィンドウ ハンドルのレコードを作成することです。 1つ以上、EnumChildWindow
inで子ウィンドウへのハンドルを取得するために使用するウィンドウごとに。これらのそれぞれを記録して、タイトル付きのコンボボックスに渡し、記録をそのアイテムのオブジェクトにして、記録されたそれぞれにアクセスできるようにしたかった後でそれを選択します。
私の問題はポインターの処理です。配列レコードのいずれかに追加する最初のインスタンスでアクセスが拒否され続けます。
ここで休憩
ここに私が使用している完全なコードを示します。これにより、人々は私がやろうとしていることをよりよく理解できるようになります。
誰かが私を正しい方向に向けることができれば(しゃれは意図していません)、感謝します。
c++ - プロセスパスからウィンドウタイトルを取得する方法
プロセスのパスがあり、C++ でウィンドウ タイトルを取得したいと考えています。
このプロセスにはウィンドウが 1 つしかないものとします。
たとえば、私のプロセスパスは次のとおりです。
C:\Program Files\My Program\program.exe 実行中のプロセスのパスであり、Windows のタイトルを取得したいと思います。
ありがとう。
c# - 特定のファイルにアクセスしているプロセスの子ウィンドウ (Word ウィンドウなど) を閉じる
シナリオ (ファイルを強制的に削除する場合、再起動時に削除できません):
- MS Word などのプログラムで開いているファイルがあります。MS Word で開いているファイルが他にもある可能性があります。
- 私の C# プログラムでは、どのプロセスがその特定のファイルにアクセスしているかを知る必要があり、その特定のファイルのみを Word から閉じたり解放したりする必要があります。他のファイルに影響を与えてはならないので、Process.Kill() メソッドは使用しません。
上記のシナリオを考慮して、次のことを行いました。
こちらのコードを使用してターゲット ファイルにアクセスするプロセス (Process クラスのインスタンス) を見つけました
そのプロセスが保持するハンドルのリストを見つけました (NtQuerySystemInformation() メソッドを使用)。
- ハンドルのリストから、ファイルを保持している特定のハンドルを見つけることができました (NtQueryObject() メソッドを使用)。このハンドルで CloseHandle() を呼び出そうとしましたが、うまくいきません。
- これで、ターゲット プロセスのすべての子ウィンドウ ハンドルを一覧表示することもできます。
上記の手順 3 で見つけたファイル ハンドルに関連する特定のウィンドウ ハンドルを見つけるにはどうすればよいですか? 私の計画は、その特定のウィンドウへの WM_CLOSE メッセージで SendMessage() メソッドを使用して、ウィンドウを閉じてファイルを解放することです。
1 つの方法は、その子ウィンドウのタイトルでファイル名の文字列を確認してから、そのウィンドウを閉じることです。しかし問題は、同じ名前のファイルが別の場所から開かれている可能性があることです。
c# - メッセージボックスが表示されるたびにコードを実行する
かなり大きな C# Forms アプリケーションがあります。多くの MdiChilds を制御する MdiParent があります。また、読み込みに時間がかかるフォームをユーザーが開いたときに常に一番上にジャンプする「読み込み画面」も作成しました。
問題は、例外がある場合、通常、キャッチで Messagebox.Show(ErrorNumber) のようなものを使用して、ユーザーが何が起こったのかを知ることです。ロード画面がオンのときにメッセージ ボックスが表示されると、クリックできません。
これを微調整したいと思います。MessageBox が表示されるたびにコードを実行するように、MdiParent (または、一度だけであれば別の場所) に関数を配置する方法はありますか? このようにして、読み込み画面を閉じる関数を簡単に呼び出すことができます。おそらく他にも解決策があると思いますが、ウィンドウ ハンドルやフックなどについて詳しく知りたいです。