commonDialog引发AccessViolationException的一种原因

<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>&lt;dependency&gt;<br> &lt;dependentAssembly&gt;<br> &lt;assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /&gt;<br> &lt;/dependentAssembly&gt;<br> &lt;/dependency&gt;</p>
<p>这段代码的意思是允许通用控件由系统改变样式(当然,这其实也是个权限问题)。把这段代码去掉就没有问题了。</p>

你可能感兴趣的:(exception)