問題タブ [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 投票する
5 に答える
1849 参照

c# - ウィンドウはすでに閉じられていますが、FindWindowはIntPtr.Zeroを返しません

C#プログラムからJavaアプリケーションを制御しようとしています。プログラムはデータの入力を開始する前に、以前のデータ入力ウィンドウがあるかどうかを確認し、それらを閉じようとします。

ウィンドウが存在するかどうかを確認するためのコードは次のとおりです。

これまでは、開いている入力ウィンドウがなくなるまで、このメソッドをwhileループ(ウィンドウにAlt + F4を送信)で使用していました。

しばらく前にJavaアプリケーションが更新され、このメソッドは機能しなくなりました。何らかの理由で、WindowExistsは、データ入力ウィンドウが閉じられた後でもtrueを返し続けます。これは、入力ウィンドウが少なくとも1回存在した場合にのみ発生します。

Thread.Sleep()をループに追加して、これがJavaアプリの遅延が原因ではないことを確認しようとしましたが、機能しませんでした。

WindowExistsを呼び出すだけで、入力ウィンドウがクラッシュすることがあります。

以前に動作したことがあり、他のプログラムでも動作するため、コードに問題はありません。したがって、Javaプログラムの更新に問題があるはずです。

ウィンドウが存在するかどうかを確認するための代替/より信頼性の高い方法はありますか?Alt + F4の送信を「ウィンドウを閉じるイベント」に変更することも試してみる価値があるかもしれませんが、このイベントを別のプログラムのウィンドウに送信する方法がわかりません。

私は初心者なので、答えは単純にしてください。

前もって感謝します。

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

vb.net - VB.net findwindow/findwindowex

コントロール名がプログラム上の他のすべてのラベルと同じ場合に、このウィンドウのラベルを見つける方法を見つけようとしています。

3 つのラベルはすべて同じ名前です。私が最も興味を持っているのは、進行状況の % カウンター (1%、2%、3% など) です。

いつでもそのラベルのキャプションを知らずに、そのラベルから(もちろんタイマーを使用して)値を取得するにはどうすればよいですか??

どんな助けでも素晴らしいでしょう!:o)

デビッド

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

vb.net - コンソール ボックスへの VB.net sendmessge

こんにちは、VB プログラムからコンソール ボックス (DOS ボックス) にテキストを送信しようとしていますが、うまく動作しないようです。

これが私の現在のコードです:

それは機能しますが、コンソール内ではなく、タイトル バーにのみAを配置します。

どんな助けでも素晴らしいでしょう!:o)

デビッド

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

c++ - mfcを使用したFindWindowAPI呼び出しでワイルドカードを使用する

mfcアプリケーションでFindWindowを使用しています。

foob​​arだけに一致させることができるように、ワイルドカードでFindWindowを使用したいと思います。

ありがとう

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

vb6 - Findwindow と SendMessage

これがALT + Fをメモ帳に送信しない理由を理解しようとしていますが、

parenthwndの値を取得しますが、retvalue 値 (0) の値は取得しません。

私は何が欠けていますか?

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

c++ - Windowsクラスを登録し、登録されたクラスを使用してウィンドウを検索する方法

Explorer Context(右クリック)メニューをクリックすると起動するMFCアプリケーションを作成しています。

ただし、アプリケーションのインスタンスを1つだけ起動する必要があります。そのためには、FindWindowAfxRegisterClassを使用する必要があります

以下のように、MFCアプリにクラスを登録しようとしました。

MFCクラスのコンストラクターでメソッドを呼び出しました。アプリケーションの起動中に、クラスが登録されていることを確認しました。

現在、シェル拡張機能で、MFCに登録されているクラスを次のように検索しようとしています。

しかし、CWndをWindowに取得できません。それを理解することができません。何かが足りない、または何か間違ったことをしている場合はお知らせください。

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

c# - Windows Forms C# プログラム: ボタンの状態 (有効/無効または表示/非表示) を確認する方法は?

エラーが発生すると実行が停止するプログラムがあります。実行を停止すると、「開始」ボタンが有効になり、「停止」ボタンが無効になります。プログラムの実行中 (「開始」をクリックした後)、「開始」ボタンは無効になります。

私の目標は、間隔 (2 分) で「開始」ボタンのステータスをチェックし、「開始」ボタンが有効になったときに SMTP 電子メールを送信するプログラムを作成することです。したがって、プログラムの実行がいつ停止したかを知らせてくれます。

FindWindow を使用してプログラムを見つけることができましたが、ボタンを見つけることができませんでした。ましてや、プログラムの有効化と無効化を区別することはできませんでした。

Spy++ を使用すると、ボタンのハンドルは 000A0B0A になります。ボタンが有効な場合のスタイルは 54000000 です。無効にすると 5C000000 になります。プログラム、またはフォーム/ウィンドウのハンドルは 00050B2C です。

私の質問は次のとおりです。その特定のボタン (ハンドル 00A0B0A) のスタイルを確認するために、どのコマンドを使用できますか?

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

delphi - ドライバーからポップアップしたダイアログを閉じるためのdelphiアプリの取得

ウェブカメラを開こうとするデルファイアプリがあります。Windows 7では失敗することがありますが(これは別の話/質問/スレッドです)、Webカメラドライバーは「ビデオソース」というタイトルのダイアログをポップアップして、1つを選択するように促します。ループでドライバーを繰り返し開き、ダイアログが表示されるたびに手動でダイアログを閉じようとすると、作業を開始できます。そこで、アプリからダイアログを閉じたいと思います。FindWindow(nil、'ビデオソース')はそれを見つけられません。Process Explorerで見ると、ダイアログは自分のアプリに属していると表示されます。PEから強制的に閉じると、アプリが閉じます。このダイアログを閉じるにはどうすればよいですか?このダイアログが開いている間、アプリがハングしている疑いがあります(確認済み)。これにより、ダイアログを閉じるためのコードを実行するのがかなり困難になります。

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

wpf - user32.dll FindWindowEx、リモート WPF ウィンドウでクラス名で要素を検索

コマンドライン アプリケーションから開始される WPF アプリケーションがあります。

簡単な自動化(テキストの取得/設定、ボタンのクリックなど)を試みています。WPF で子ウィンドウが見つからないようです。

私は WPF と UIA フレームワーク、WinForms と WinAPI を使用した作業モデルを持っていますが、WinAPI と WPF をうまく動作させることができないようです。

UISpy、WinSpy++、Winspector、UIA Verify アプリを使用してコントロールなどを確認しましたが、WPF について WinForms と同じ情報を持っていないようです。

たとえば、WinForms アプリで、スパイ ツールを調べると、「WindowsForms10.EDIT.app.0.33c0d9d」という ClassName のテキスト ボックスが表示されます。UIA Automation Verify アプリは、要素の存在を認識し、"TextBox" を報告する唯一のアプリです。

それで、私の質問は、渡す正しいクラス名をどのように見つけるか、または子要素を見つけるためのより簡単なルートはありますか?

そして、これが私が使用しているuser32.dllインポートです:

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

c++ - C ++-FindWindow win32 APIは常に失敗します!

C ++のFindWindow()関数に問題があります。プログラムAとプログラムBの2つのプログラムを使用しています。どちらもネイティブコードのコンソールアプリケーションです。プログラムAは、intiとstringsを値で初期化します。プログラムBは、プログラムAの実行時に表示されるアドレスを使用して、プログラムAのメモリからそれらを読み取ります。現在、私は「i」の値を読み取ることだけに興味があります。

ただし、FindWindow()を機能させることができず、理由もわかりません:/ win32 apiプログラミングをあまり行っていないので、このコンパートメントはかなり新しいです。

プログラムA:

プログラムB: