vs2005中Shockwave Flash Object不能使用的解决办法 - sunrack
在用vs2005中的Shockwave Flash Object时最初出现了一些问题,总是提示说Active X不能正确注册,从而导致Shockwave Flash Object不能使用,在引用处看到AxShockwaveFlashObject没有正确加载
查询了一些文章,说出现这种问题应该说是microsoft的一个bug,如何解决这一问题大概有如下几种方式:
测试发现在vs2003中使用Shockwave Flash Object是没有问题,具体原因是vs2003中使用的是Flash.ocx 7.0版本,而vs2005中使用的是8.0或者9b.
(1)下载老版本的Flash.ocx,并注册后使用(采用这种方式基本功能都能使用,但高版本的一些特性没办法用)
(2)将能用的Interop.ShockwaveFlashObjects.dll copy到工程中的objDebug目录下(这种方式不是很安全,在有些情况下会出现异常)
(3)手动去注册
regsvr32 c:/windows/system32/macromed/flash/flash9b.ocx
采用这种方式能解决vs2005中Shockwave Flash Object不能使用的问题,如果注册之后不能马上使用,请重起机器,或许就能解决
(4)可以通过手动更改 Form1.Designer.cs(这里仅仅是一个例子,Form1.Designer.cs中的Form1指的是要加载Shockwave Flash Object的窗体),在InitializeComponent函数开始位置加上如下语句
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
先清理解决方案然后再重新生成解决方案,此时应该可以看到AxShockwaveFlashObject已经正确加载