問題タブ [hwnd]
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++ - HWNDでウィンドウがまだ存在する場合、どうすれば抑止できますか
重複の可能性:
Win32APIを使用してHWNDを検証する
HWNDのウィンドウがまだ存在する場合、どうすれば抑止できますか?ウィンドウのHWNDがあります。ウィンドウは別のプロセスに存在します。ウィンドウがまだ「生きている」かどうか知りたいです。これを行うための最良の方法は何ですか?
c - WinMain の hPrevInstance の目的は何ですか?
の定義WinMain
は次のとおりです。
私が理解していることは次のとおりです。
hInstance
アプリケーションのインスタンスへのハンドルであり、DLL でない場合は次のコマンドで取得できます。GetModuleHandle(NULL)
szCmdLine
はコマンドライン引数であり、次のコマンドで再試行できますGetCommandLine()
nCmdShow
通常はSW_SHOW
ただし、1990 年代後半の本でさえ、の使用法に出くわしたことはありません。では、あるとすれば の用途は何であり、正確には何なのでしょうか?hPrevInstance
hPrevInstance
python - Boost.Python で HWND をラップして渡す
コンストラクターで HWND ウィンドウ ハンドルを受け取る C++ レガシー クラス用の Boost.Python ラッパー (Py++ を使用) を作成しました。ただし、モジュールを使用しようとしたときにモジュールを python にエクスポートした後、型の不一致エラーが発生します。
ラップしている C++ クラスは次のとおりです。
Py++ 出力:
生成されたラッパー:
Python では、一致しないエラーが発生します。
この問題を修正して、Python で (win32gui から) ウィンドウのハンドルを C++ クラスに渡し、それとやり取りできるようにするにはどうすればよいですか?
環境: Visual Studio 2008、Boost 1.44、gcc-xml 0.9.0、py++ 1.0.0、pygccxml 1.1.0
c# - IntPtr ハンドルからコントロール/フォーム オブジェクトを取得する
次のコードを使用して、表示されている Word アプリケーション ウィンドウからマネージ コントロールを取得しようとしています。
残念ながら、wordControl は常に null です...私の知る限り、ハンドル関連のコントロールが見つからない場合、FromHandle は null を返します。しかし、実際には、画面にウィンドウが表示されるため、関連するコントロールがあるはずです。
したがって、私の質問は、ハンドルまたはコントロールを取得しようとしているときに何かひどく間違ったことをしている場合です。または、.NET / Windows 環境のどこかに基づいた、現時点では不明な理由で、私の一般的なアプローチが機能しない可能性があります。
hwnd - FindWindow() でウィンドウが見つからない [C++]
これは複雑な質問ではありません。iTunes に属するハンドルが見つかりません。しかし、iTunes はバックグラウンドで実行されていますが、ウィンドウが見つからないというメッセージが表示され続けます。そのため、ウィンドウ名を入力し忘れていないかどうかを確認し続けましたが、spy++ は、正しいウィンドウ名とクラス名を使用していることを指摘しました (以下を参照)。小さな間違いだと思いますが、見つけられないようです。洞察力のある人はいますか?前もって感謝します。
multithreading - 非ウィンドウ クラスのカスタム メッセージ - デフォルト ハンドラが必要ですか?
クラス(TObject)で私は持っています:
どこTH_MYMESSAGE = WM_USER + 1
クラスコンストラクターで:
への参照を受け取る唯一のオブジェクトFHwnd
は、プライベート カスタム TThread (このクラス内で作成された) であり、投稿される唯一のメッセージは ですTH_MYMESSAGE
。私の理解ではmessage
、プロシージャ宣言のディレクティブは、その処理を のみに制限していますTH_MYMESSAGE
。
これはテストでは問題なく機能していましたが、より大きなアプリケーションに統合するとHandleMyMessage
、他のメッセージに対しても同様に発火するフィードバックが得られます (明らかに望ましくない結果が得られます)。
if Message.Msg <> TH_MYMESSAGE then Exit;
これは、 を追加することで簡単に修正できましたHandleMyMessage
。私の質問は:なぜこれが起こっているのですか?
私の最良の推測は、ディレクティブがあるにもかかわらず、 a と同等のものをAllocateHWND
作成したことです。私が見逃しているこれを実装する正しい方法はありますか?HandleMyMessage
DefWndProc
message
c - CでShellExecute()を使用して.txtを開く正しい方法は何ですか?
よし、プログラムと同じファイルに作成される .txt ファイルを開く必要があります。
ShellExecute(); を使用したいと思います。これを行うために、私はそれについて多くの調査を行いましたが、パラメーター「HWND」をどうするかわからないため、主に構文を正しくすることができないようです
ここで答えを探し、HWNDに入れるものを除くすべての情報を入手しました
使用するコードが必要な方法は次のとおりです。
私が何について話しているのかわからない場合は、助けてくれてありがとう! :)
これは、機能をテストするために使用するプログラムです。
view_debug(); ShellExecute を含む関数です。
これは log_debug(); です。
ファイルは関数 log_debug() によって作成されます。機能しますが、ShellExecute が機能しないため、手動で開く必要があります。
完全なソースはこちら。
c++ - FindWindowEx 関数で子ウィンドウが見つからない
私は、Microsoft リモート アシスタンス (msra.exe) を使用するときの生活を楽にする小さなプログラムに取り組んでいます。C++ を使用して、msra.exe を開き、ウィンドウ ハンドルを見つけることができます。次に、子ウィンドウ(ボタン)を見つけて、それらと対話したいと考えています。ただし、必要なボタンが見つからないという問題があるようです。Spy++ は、ボタンに次のテキストがあることを示しています。
Window 004902F4 「信頼できる人に助けを求める」ボタン。
私のプログラムは、この文字列を検索すると、ボタンが存在しないことを返します。誰にもアイデアはありますか?コードは次のとおりです。
編集:
これは、spy++ が表示するイメージです。
winapi - Windowsでは、HANDLEはプロセスのVAS内のアドレスですか、それとも他の何かへの独立したインデックスですか?
簡単に言えば、GetActiveWindow()などのハンドルを返すAPIを呼び出すと、HWND型のハンドルが返されますが、何が返されますか?それはプロセスのVAS内の一意のアドレスですか、それともいくつかのOS構造への一意のインデックスですか?または、他の何か?