次の方法で共有


SHGetPropertyStoreForWindow 関数 (shellapi.h)

特定のウィンドウのプロパティのコレクションを表す オブジェクトを取得します。これにより、それらのプロパティのクエリまたは設定が可能になります。

構文

SHSTDAPI SHGetPropertyStoreForWindow(
  [in]  HWND   hwnd,
  [in]  REFIID riid,
  [out] void   **ppv
);

パラメーター

[in] hwnd

型: HWND

プロパティが取得されるウィンドウへのハンドル。

[in] riid

種類: REFIID

ppv を介して取得するプロパティ ストア オブジェクトの IID への参照。 通常、これはIID_IPropertyStoreです。

[out] ppv

型: void**

この関数が戻るとき、 には 、riid で要求されたインターフェイス ポインターが含まれます。 これは通常 、IPropertyStore です

戻り値

種類: HRESULT

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

解説

アプリケーションは、この関数を使用してウィンドウのプロパティ ストアへのアクセスを取得し、 System.AppUserModel.ID プロパティに明示的なアプリケーション ユーザー モデル ID (AppUserModelID) を設定できるようにします。

ウィンドウを閉じる前に、ウィンドウのプロパティを削除する必要があります。 この操作を行わないと、これらのプロパティで使用されるリソースはシステムに返されません。 プロパティは、 PROPVARIANT 型VT_EMPTYに設定することで削除されます。

ppv を介して取得されたオブジェクトで IPropertyStore::SetValue を呼び出すと、プロパティと値がウィンドウにすぐに格納されます。 そのため、 IPropertyStore::Commit の呼び出しは必要ありません。 呼び出された場合はエラーは発生しませんが、影響はありません。

アプリケーションは、アプリケーションのタスク バーのグループ化とジャンプ リストの内容を制御するために、個々のウィンドウに AppUserModelIDs を設定します。 たとえば、スイート アプリケーションでは、サブFeature ごとに異なるタスク バー ボタンを提供し、そのサブ構造に関連するウィンドウをそのボタンの下にグループ化することができます。 ウィンドウ レベルの AppUserModelID がない場合、これらのウィンドウはすべて、メイン プロセスの下でグループ化されます。

アプリケーションでは、このプロパティ ストアを使用してこれらの再起動プロパティを設定して、システムがアプリケーションをその状態に戻すことができるようにする必要もあります。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shellapi.h
Library Shell32.lib
[DLL] Shell32.dll (バージョン 6.1 以降)

関連項目

アプリケーション ユーザー モデル ID (AppUserModelIDs)