Search
Categories
Articles
Rainmeter関連
ファイル置き場
お知り合いなど

スポンサーサイト

--.--.-- | スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

デスクトップウィンドウとシェルウィンドウ

2009.11.27 | Programming

0 Comments

デスクトップウィンドウとシェルウィンドウについてメモ書き。

■デスクトップウィンドウ
デスクトップウィンドウは、いわゆるデスクトップのこと。GetDesktopWindow APIでハンドルを取得できる。
トップレベルウィンドウの親ウィンドウはこのウィンドウになる(GetAncestor APIをGA_PARENTで呼び出したときの戻り値が、GetDesktopWindow APIの戻り値と同一となる)。
このウィンドウはcsrss.exeが持っている。

■シェルウィンドウ
素のWindowsだと、"Program Manager"なウィンドウのこと。GetShellWindow APIでハンドルを取得できる。
シェルを他のものに入れ替えていなければ、このウィンドウはexplorer.exeが持っている。

デスクトップにあるアイコン("FolderView")やタスクバーなどは、シェルウィンドウ(またはexplorerが持つ別ウィンドウ)が持っている。

■XPでの結果

- GetDesktopWindow : 0x00010014
- GetShellWindow : 0x00010080
- "FolderView" : 0x00010088
- GetAncestor(top-level window, GA_PARENT) : 0x00010014

20091127_shell_xp

■Windows 7での結果

- GetDesktopWindow : 0x00010010
- GetShellWindow : 0x000100EC
- "FolderView" : 0x000100F4
- GetAncestor(top-level window, GA_PARENT) : 0x00010010

20091127_shell_7

XPと7(&Vista?)の結果を比較すると、"FolderView"の(ツリー上の)位置が違っている。XPではシェルウィンドウ下にあるのに対し、7ではWorkerWの下についている。

« [Rainmeter-dev] いろいろ [Rainmeter-dev] ウィンドウの移動処理 »

- Comments
0 Comments

管理者にだけ表示を許可する
- Trackbacks
0 Trackbacks


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。