commonDialog引发AccessViolationException的一种原因

本文探讨了导致Errorcreatingwindowhandle的问题及其解决方案。列举了多种可能的原因,包括使用非托管代码、文件缺失、权限不足等,并指出修改manifest文件中关于通用控件样式的设置可能导致此问题。
<p>问题很简单,可是找到问题却不是那么容易。这只是我这个问题引起的原因,并不是通解。期间参考了大量国外的讨论。国外很多人遇到这个问题,原因有:</p>
<p>1.使用了非托管代码或模块;</p>
<p>2.试图访问的文件不存在;</p>
<p>3.没有权限(主要是windows vista以后版本);</p>
<p>4.编译优化造成的错误,关闭相关优化选项;</p>
<p>5.控件数量过多(主要是:Error creating window handle);</p>

<p>原来前几天改了一下manifest里面的属性,在里面添加了:</p>
<p><dependency><br> <dependentAssembly><br> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /><br> </dependentAssembly><br> </dependency></p>
<p>这段代码的意思是允许通用控件由系统改变样式(当然,这其实也是个权限问题)。把这段代码去掉就没有问题了。</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值