Windows10 タスクバー DESKBAND(デスクバンド)の管理・削除 新しいページはコチラ
提供: yonewiki
(→デスクバンド一覧取得API) |
|||
1行: | 1行: | ||
+ | [[Windows10]]に戻る。 | ||
== '''概要''' == | == '''概要''' == | ||
DESKBAND(デスクバンド)とは、タスクバーのクイック起動の一種として追加できるガジェット領域です。例えば、バッテリーを管理するアプリを追加すると以下のような大きなアイコンをタスクバーに追加することが出来ます。このときの領域を正式にはDESKBAND(デスクバンド)という呼称がつけられています。 | DESKBAND(デスクバンド)とは、タスクバーのクイック起動の一種として追加できるガジェット領域です。例えば、バッテリーを管理するアプリを追加すると以下のような大きなアイコンをタスクバーに追加することが出来ます。このときの領域を正式にはDESKBAND(デスクバンド)という呼称がつけられています。 | ||
44行: | 45行: | ||
//GUIDをclsid型配列に取得 | //GUIDをclsid型配列に取得 | ||
pPersist->Release(); | pPersist->Release(); | ||
+ | |||
+ | if (IsEqualCLSID(clsid, clsidTarget)) {//clsidTargetに一致するDeskbandをリムーブする場合 | ||
+ | StringFromCLSID(clsid, &lpszClsid); | ||
+ | MessageBoxW(NULL, lpszClsid, L"OK", MB_OK); | ||
+ | pBandSite->RemoveBand(dwBandId);//一時的な削除。登録自体は各アプリdllがregsvr32で登録して、バックグランウンド動作するようにやっている。 | ||
+ | CoTaskMemFree(lpszClsid); | ||
+ | } | ||
} | } | ||
+ | pBandSite->Release(); | ||
+ | CoUninitialize(); | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
+ | |||
+ | |||
+ | 上記のAPIを使うことでDeskbandを一覧を取得できます。for文の中でブレークポイントを設定して、clsidに格納される値をレジストリエディタで検索して調べてください。追いかけるとまぁまぁわかってくると思います。Windows10ではタスクバーが下側にあるときにタスクバーを右クリックして表示されるニュースと関心事項のためのDeskbandとPeopleという機能のためのDeskbandが2つ登録されています。 | ||
+ | |||
+ | |||
+ | *C:\Windows\System32\OneCoreUAPCommonProxyStub.dll | ||
+ | *%SystemRoot%\system32\peopleband.dll | ||
+ | |||
+ | |||
+ | |||
+ | っていうものが登録されています。自分はタスクバーを上にやっているんですけど、この場合はニュースと関心事項を有効にしていると設定も変えられない謎の領域というか空白というかスペースがかなり広い領域で損失となります。正直、このせいでDeskbandという仕組みを調べるきっかけになりました。タスクバーを下に移動させて、右クリックして表示されるメニューからニュースと関心事項を非表示にするだけでした。何かの不具合で壊れたDeskbandが登録されているというわけではなかったです。 | ||
+ | |||
+ | |||
+ | [[Windows10]]に戻る。 |