アプリ版:「スタンプのみでお礼する」機能のリリースについて

C++で別ウィンドウのアプリケーションを動かすというものを作っているのですが、そのウィンドウの子ウィンドウのハンドルを取得するのに困ったことがあるのでアドバイスをいただけると大変ありがたいです。

基本的にSPY++というソフトを使ってウィンドウ名その他を探し、FindWindowExまたはGetDlgItem関数を使って取得という方法をとっているのですが、クラス名、ウィンドウ名が全く同じもので、コントロールIDも0という状態のものがあり、片方を取得したい場合どうしたらよいのかという状態です。

知人にSPY++でみて上から何番目にあるやつと指定して得ることができる方法があるかもしれないと聞いたのですが、よくわかりません。

例としてその画像ものせますので、良い知恵がありましたらお貸しください。

※添付画像が削除されました。

A 回答 (1件)

FindeWindowExの二番目の引数を使えば次のウィンドウをとれます。



HWND hFirstWnd = ::FindWindowEx(hParentWnd, NULL, TEXT(""), TEXT(""));
if (hFirstWnd != NULL) {
HWND hSecondWnd = ::FindWindowEx(hParentWnd, hFirstWnd, TEXT(""), TEXT(""));
}

http://msdn.microsoft.com/ja-jp/library/cc410853 …
のhwndChildAfterのところを参照。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!