SetPropA 函数 (winuser.h)

在指定窗口的属性列表中添加新条目或更改现有条目。 如果列表中尚不存在指定的字符串,该函数会将新条目添加到列表中。 新条目包含字符串和句柄。 否则,该函数会将字符串的当前句柄替换为指定的句柄。

语法

BOOL SetPropA(
  [in]           HWND   hWnd,
  [in]           LPCSTR lpString,
  [in, optional] HANDLE hData
);

参数

[in] hWnd

类型:HWND

其属性列表接收新条目的窗口的句柄。

[in] lpString

类型:LPCTSTR

以 null 结尾的字符串或标识字符串的原子。 如果此参数是 atom,则它必须是先前对 GlobalAddAtom 函数的调用创建的全局原子。 原子必须置于 lpString的低序单词中;高序单词必须为零。

[in, optional] hData

类型:HANDLE

要复制到属性列表的数据的句柄。 数据句柄可以识别对应用程序有用的任何值。

返回值

类型:BOOL

如果将数据句柄和字符串添加到属性列表中,则返回值为非零。

如果函数失败,则返回值为零。 若要获取扩展的错误信息,请调用 GetLastError

言论

在窗口被销毁之前(即,在从处理 WM_NCDESTROY 消息返回之前),应用程序必须删除它已添加到属性列表的所有条目。 应用程序必须使用 RemoveProp 函数删除条目。

SetProp 受用户界面特权隔离(UIPI)的限制。 进程只能对属于较小或等于完整性级别的进程的窗口调用此函数。 当 UIPI 阻止属性更改时,GetLastError 将返回 5。

例子

有关示例,请参阅 添加 Window 属性

注意

winuser.h 标头将 SetProp 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 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