SetPropA 函数 (winuser.h)

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

语法

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

参数

[in] hWnd

类型:HWND

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

[in] lpString

类型: LPCTSTR

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

[in, optional] hData

类型: HANDLE

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

返回值

类型: BOOL

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

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

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

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

示例

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

注意

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

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library 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