GDI对象的最大值又被默认为10000
来源:互联网 发布:origin怎么用数据画图 编辑:程序博客网 时间:2024/05/12 20:03
GDI对象,实际上是Windows系统维护的一些数据结构。微软基于稳定性和健壮性考虑,将所有GDI对象的管理权都交给Windows系统的对象管理器管理,用户只能通过系统返回的“句柄”来操作这些对象。
在Windows 2000中,句柄实际上是一个DWORD类型的值。该DWORD值是一个32比特位的数据,它又分为两个部分:Table Index及Uniqueness Identifier,他们各占16位,因此,在理论上来说,Windows中的每个进程,所能访问的GDI对象的最大值是64K。然而,在Windows 2000中,客户句柄的最大数目被硬设置为16384 (16K);
然而,在Windows 2000中,既便客户句柄的最大数目被硬设置为16384,那么为什么在实际中GDI对象增加到9999后,程序界面就开始混乱了呢?原来,在Windows2000中,每进程的GDI对象的最大值又被默认为10000——据微软资料显示,之所以设置为10000,是为了阻止“Bad”程序分配过多的资源,因此,当GDI对象达到9999之后,程序就不能再创建新的GDI资源,这样,每次都使用新建资源来绘制界面的程序就产生混乱了。
经过了一个多月断断续续的调试 基本确定问题是 gdi 泄露 哈哈哈
- GDI对象的最大值又被默认为10000
- GDI对象的最大值又被默认为10000
- GDI+对象的释放
- GDI对象的使用
- 备用的GDI对象
- ab的最大值为
- GDI和GDI+对象的相互转换
- GDI和GDI+对象的相互转换
- GDI和GDI+对象的相互转换
- GDI和GDI+对象的相互转换
- const 对象默认为文件的局部变量
- const 对象默认为文件的局部变量
- const 对象默认为文件的局部变量
- const 对象默认为文件的局部变量
- const对象默认为文件的局部变量
- const对象默认为文件的局部变量
- const对象默认为文件的局部变量
- GDI和GDI+对象的相互转换(转)
- java 线程 Concurrentdown 讲解
- .Net3.5中var的应用
- Log4j入门资料
- POJ 1113 Wall
- VirtualAlloc在原基础上再分配内存
- GDI对象的最大值又被默认为10000
- java.net.SocketException: Connection reset by peer: socket write error 错误
- STL 教程
- Multiple Processes
- Sql server 日记 (Alter 邮件自动通知)
- 第一次写博客
- C# XML 之简单操作
- 虚拟机管理者连接失败Unable to open a connection to the Xen hypervisor/daimon
- 在WPF中使用鍵盤組合事件