次の方法で共有


SetPropW 関数 (winuser.h)

新しいエントリを追加するか、指定したウィンドウのプロパティ リスト内の既存のエントリを変更します。 指定した文字列がまだリストに存在しない場合、この関数はリストに新しいエントリを追加します。 新しいエントリには、文字列とハンドルが含まれています。 それ以外の場合、関数は文字列の現在のハンドルを指定されたハンドルに置き換えます。

構文

BOOL SetPropW(
  [in]           HWND    hWnd,
  [in]           LPCWSTR lpString,
  [in, optional] HANDLE  hData
);

パラメーター

[in] hWnd

型: HWND

プロパティ リストが新しいエントリを受け取るウィンドウへのハンドル。

[in] lpString

型: LPCTSTR

null で終わる文字列、または文字列を識別するアトム。 このパラメーターがアトムの場合は、GlobalAddAtom 関数の以前の呼び出しによって作成されたグローバルアトムである必要があります。 原子は、lpStringの下位ワード 配置する必要があります。高次ワードはゼロでなければなりません。

[in, optional] hData

型: HANDLE

プロパティ リストにコピーするデータのハンドル。 データ ハンドルは、アプリケーションに役立つ任意の値を識別できます。

戻り値

型: BOOL

データ ハンドルと文字列がプロパティ リストに追加された場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

ウィンドウが破棄される前 (つまり、WM_NCDESTROY メッセージの処理から戻る前) は、アプリケーションがプロパティ リストに追加したすべてのエントリを削除する必要があります。 アプリケーションは、RemoveProp 関数を使用してエントリを削除する必要があります。

SetProp は、ユーザー インターフェイス特権分離 (UIPI) の制限の対象となります。 プロセスは、整合性レベルが低いか等しいプロセスに属するウィンドウでのみ、この関数を呼び出すことができます。 UIPI がプロパティの変更をブロックすると、GetLastError は 5 を返します。

例については、「ウィンドウ プロパティの追加」を参照してください。

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetProp を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-window-l1-1-4 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

概念

GlobalAddAtom の

リファレンス

RemoveProp の

WM_NCDESTROY

ウィンドウのプロパティ

ITaskbarList2::MarkFullscreenWindow