Dev-Cpp4.9.9.2、gcc3.4.2です。
Windows Vista SP2 32ビットです。
コンパイルオプションは
-Werror-implicit-function-declaration -Wformat -Wshadow -mwindows
です。
他のプロセスのウィンドウのタイトルを取得したいです。
しかし、このコードでは、空欄になってしまいます。
Shiftキーを押さずに「ウィンドウを選択」ボタンを押すと、
メインウィンドウを一瞬隠してからフォアグラウンドウィンドウを取得します。
Shiftキーを押しながら「ウィンドウを選択」ボタンを押すと、
メインウィンドウの左上にあるウィンドウを取得します。
「ウィンドウを選択」ボタンの下のエディットボックスに選択したウィンドウのタイトルが表示されれば成功です。
どうすればうまくいくか教えてください。
Vistaでは無理なら、そう書き込んでください。
よろしくお願いします。
別のプロセスのウィンドウのタイトルを取得
別のプロセスのウィンドウのタイトルを取得
- 添付ファイル
-
- getwindowtexttest.zip
- プログラムです。
- (8.4 KiB) ダウンロード数: 102 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 別のプロセスのウィンドウのタイトルを取得
以下のコードで取得できました。ただ、実行環境がWindowXPなので、Vistaでは取得可能か確認できていません。
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
char TitleStr[512] = "";
HWND hTargetWindow;
POINT p = {0, 0};
hTargetWindow = WindowFromPoint(p);
if(hTargetWindow)
{
GetWindowText(hTargetWindow, TitleStr, sizeof(TitleStr));
MessageBox(NULL, TitleStr, "", MB_OK);
}
return 0;
}
Re: 別のプロセスのウィンドウのタイトルを取得
提示していただいたコードでうまくいきました。
自分のプログラムに組み込んでもうまくいきました。
ありがとうございました。
自分のプログラムに組み込んでもうまくいきました。
ありがとうございました。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)