问题很简单,可是找到问题却不是那么容易。这只是我这个问题引起的原因,并不是通解。期间参考了大量国外的讨论。国外很多人遇到这个问题,原因有:
1.使用了非托管代码或模块;
2.试图访问的文件不存在;
3.没有权限(主要是windows vista以后版本);
4.编译优化造成的错误,关闭相关优化选项;
5.控件数量过多(主要是:Error creating window handle);
原来前几天改了一下manifest里面的属性,在里面添加了:
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
这段代码的意思是允许通用控件由系统改变样式(当然,这其实也是个权限问题)。把这段代码去掉就没有问题了。

本文探讨了导致“创建窗口句柄”错误的各种原因,包括使用非托管代码、访问不存在的文件、权限问题、编译优化错误及控件数量过多等,并提供了一种解决方案,即移除manifest文件中关于通用控件样式的特定配置。
926

被折叠的 条评论
为什么被折叠?



