掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
タスクバーのアイコンの列挙方法は? (ID:66919)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> そうではなくて。 > タスクバーボタンに対応する、デスクトップ上のトップレベルウィンドウを列挙するということです。 この方法なら以前に成功しています。 でも左から順番に取得できませんよね。 EnumWindows はZオーダー順でしたっけ。 最初のリンク先にソースがあったのでダウンロードして試してみました。 http://qwerty.s2.xrea.com/data/te_core.lzh このソースは「タスクトレイ」のアイコン情報を取得するサンプルです。 これを利用して「タスクバー」のアイコン情報も取得は出来ました。 // タスクバーの場合 hTrayWnd = FindWindow( "Shell_TrayWnd", NULL ); hTrayWnd = FindWindowEx( hTrayWnd, NULL, "ReBarWindow32", NULL ); hTrayWnd = FindWindowEx( hTrayWnd, NULL, "MSTaskSwWClass", NULL ); hTrayWnd = FindWindowEx( hTrayWnd, NULL, "ToolbarWindow32", NULL ); と変更しました。その結果は No. Title name hIcon hWnd uID uCallbackMessage --- ---------------------------------------------------- -------- -------- ---------- ---------------- 1 [Internet Explorer ] 000FF840 00000000 0 0 2 [タスクバーのアイコンの列挙方法は? - Microsoft In ] 00000000 001100C4 0 870328 3 [Windows Command Processor ] 0387B2E8 00000000 64 0 4 [C:\WINDOWS\system32\cmd.exe - GetTaskbar ] 00000000 00190196 64 59748744 5 [TeraPad ] 038AA4F8 00000000 0 0 6 [質問.txt - TeraPad ] 00000000 004801F2 0 59136936 --- ---------------------------------------------------- -------- -------- ---------- ---------------- となりました。この一覧は IE、コマンドプロンプト、TeraPadエディタの3つです。 これで一応は「タスクバー」のボタンに対応するウインドウのハンドルが取得できました。 最初に実行したときはもっと多くの残骸らしき情報が表示されていました。 そこでいろいろと試行錯誤して気づきました。 フリーソフトでタスクバーのボタンを並び替えできるものを使うとプログラムを終了しても タスクバーの管理情報が残骸として残るようです。ここに気づかず一覧の意味が分からずいました。 上手くツールバーから情報を取得できたので解決です。 最初のリンクが大いに役に立ちました。 有り難うございました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.