創屋ぷれす

VB.NETでVistaのサイドバー領域を取得

Windows Vistaのサイドバー領域(サイズ、位置)を、VB.NETアプリから参照する方法。

まず、サイドバーはタスクバーと同じでAppBarという仕組みで作成されている、というところまではわかりました。
結果的にはFindWindowでウィンドウハンドルが取得できるのでほとんど関係ないのですが、タスクバーをいじる方法が詳しく書いてあるので、メモ代わりに残しておきます。
タスクバーとVB.NET:CodeZine

次にFindWindowに指定するウィンドウ名ですが、検索してもヒットしない。悩んだ挙句VS.NET付属のSpy++使えばわかる(というか常識?)のに気づいて、結果は「SideBar_AppBarWindow」という名称らしい。

あとはFindWindowでハンドル取得、表示されているかどうかはIsWindowVisible、領域の取得はGetWindowRectを使えばOKでした。

GetWindowRectはRECT構造体を定義しないといけないので、以下を参考にちょこちょこと。
GetWindowRectをVB.netで使用時のエラー: DOBON.NETプログラミング掲示板過去ログ

創屋のホームページはこちらから

Comments are closed.