极语言官方网站

用户对象

用户界面对象仅支持每个对象一个句柄。 进程无法继承或复制用户对象的句柄。

一个会话中的进程不能引用另一个会话中的用户句柄。

理论上,每个会话有 65,536 个用户句柄的限制。

但是,每个会话可以打开的最大用户句柄数通常较低,因为它受可用内存的影响。

还有用户句柄的默认每进程限制。 若要更改此限制,请设置以下注册表值:

\ HKEY_LOCAL_MACHINE软件\微软\\ Windows NT CurrentVersion\Windows\USERProcessHandleQuota

此值可以设置为介于 200 和 18,000 之间的数字。


用户对象的句柄

用户对象的句柄对所有进程公开。

也就是说,只要进程对对象具有安全访问权限,任何进程都可以使用用户对象句柄。

创建窗口对象后,应用程序可以使用窗口句柄来显示或更改窗口。

在销毁窗口对象之前,句柄保持有效。


管理用户对象

创建者函数要么创建对象和对象句柄,要么只返回现有的对象句柄。

销毁器函数从内存中删除对象,这会使对象句柄失效。

下表列出了用户对象,以及每个对象的创建者和销毁器函数。


用户对象创建函数销毁函数
快捷键表创建键表销毁键表
西文插入记号创建标记销毁标记
游标创建光标、 载入光标、载入位图销毁光标
DDE 对话会话连接、会话全连会话终止、会话销毁
挂钩窗口挂钩窗口脱钩
图标新建图标、载入图标、载入位图销毁图标
菜单创建菜单、建子菜单、 载入菜单、加载菜单销毁菜单
窗口创建窗口、 创建对话、 资源对话、 创建子窗销毁窗口
窗口位置多窗位置控制多窗