网上找了很多,大部分是收费的,相信写一个,也不过如此。
既然有人做出来了,那么资源也应该是有的。 按道理。写 ActiveX , VC++ 和 VB 才是 MS 的拿手戏。找到了 DSOFramer 控件,我机器安装了 WPS 和Office2003 。 显示的控件是 WPS 里的Word 控件。
微软提供了方案。基它中间件,大部分是按 MS 的改的。
http://support.microsoft.com/kb/311765/zh-cn
网上下载了其它 Web Word 控件,(像 WebOffice 办公文档控件) 显示样式也是 WPS 的样式。不知怎么会是这样?
既然都是用的 MS 的。自已改一套应该也费了不多大劲。用中间件,真不晓得别人在中间件里写什么东西。好比,我们买橙味的可乐,源浆都是从可乐公司买的,中间商们提供橙子进行混合。我倒是喜欢减少中间环节,自已来的比较放心。 (中间商放橙子的同时,放点大麻,怎么办?)
微软提供的是 VC++ OCX 控件。网上也有很多修改方案,但都不是开放源代码的。像 DSOFramer( http://www.dsoframer.com/forumdisplay.php?fid=2 ,技术也做了这么多年了,微软都提供源代码了,还这样小家子气。)
断续关注。。。
DSOFramer 已于2008-2-26开源,但是,我下载编译,项目缺少一些文件。代码不完整。不过,也可以算是一件令人兴奋的事情。
下面是 WPS 和Word 之间的冲突的部分:
关于 WPS 和 Word 冲突的事情,终于在我机器上爆发了.公司原有一个 Word 的 OCX 控件, 在我同事的机器上调通的程序(他安装了Word,我安装了WPS 后又安装了Word) ,在我机器上,总是调用WPS,在保存的时候,总是弹出 WPS 的关于,而且保存不成功卸载 WPS ,呵.WPS 的卸载程序只把文件删除了. 用 优化大师 清理冗余的 Dll 也没有清理掉.
在我的 组件服务 里, 总是存在 WPS 的 DCOM 配置. 看来, 金山和MS 是在我的地盘上打架呢. 他奶奶的.
看来,只能手工清理注册表了.
查看 WPS 的 GUID 是 {00020906-0000-4b30-A977-D214852036FE} ,注册表出现位置:
HKEY_CLASSES_ROOT\CLSID\{00020906-0000-4b30-A977-D214852036FE}
HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/kswps (文件后缀关联)
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{00020906-0000-4b30-A977-D214852036FE} (这是DCOM 注册信息)
可以用这个Reg文件:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\CLSID\{00020906-0000-4b30-A977-D214852036FE}]
[-HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/kswps]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{00020906-0000-4b30-A977-D214852036FE}]
这样,在DCOM 里就没有 WPS 配置了。
关于WPS 和Word 的冲突还不止于此,有的时候,(我只能用这个词,是我遇到的现象),用 ASP.Net 建立的项目,如果用IIS来运行。 实例化 Word 的ApplicationClass 报没有权限。如果用 VS开发服务器 (就是用 WebDev 进程),就可以。下面是解决方案:
把Office 卸载,把Office 安装文件夹手工删掉。 再用 Windows优化大师,把注册表清理一下。再装 Office 。 DCom的 Word 权限添加 ASP.NET 和 NetWork Service 的权限。并且,改成 交互式用户运行。 有一点,改完后,再打开Dcom 有时发现没改。估计是该Dcom的计数器没有归零(内存中还在使用该进程)。 可能要重启机器才行。
还有最要命的一点。 在Web.config 中设置: <authentication mode="Windows"/> 。别不小心啊。呵OK.
自已整理的去除注册表 WPS 相关信息的注册文件:
Code
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\.doc\WPS.Doc.6]
[-HKEY_CLASSES_ROOT\.dps]
[-HKEY_CLASSES_ROOT\.et]
[-HKEY_CLASSES_ROOT\.ppt]
[-HKEY_CLASSES_ROOT\.wps]
[-HKEY_CLASSES_ROOT\.wpt]
[-HKEY_CLASSES_ROOT\.xls]
[-HKEY_CLASSES_ROOT\AppID\{00020906-0000-4b30-A977-D214852036FE}]
[-HKEY_CLASSES_ROOT\AppID\{44720444-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_CLASSES_ROOT\AppID\{45540003-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\AppID\wps.exe]
[-HKEY_CLASSES_ROOT\Applications\et.exe]
[-HKEY_CLASSES_ROOT\Applications\wpp.exe]
[-HKEY_CLASSES_ROOT\Applications\wps.exe]
[-HKEY_CLASSES_ROOT\CLSID\{00020906-0000-4b30-A977-D214852036FE}]
[-HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-4b30-A977-D214852036FE}]
[-HKEY_CLASSES_ROOT\CLSID\{426A9CD2-A3C9-4B33-A478-A388EEFC5052}]
[-HKEY_CLASSES_ROOT\CLSID\{44720441-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_CLASSES_ROOT\CLSID\{44720444-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_CLASSES_ROOT\CLSID\{45540001-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\CLSID\{45540003-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\CLSID\{4554002F-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\ET.Chart]
[-HKEY_CLASSES_ROOT\ET.Chart.6]
[-HKEY_CLASSES_ROOT\ET.Template]
[-HKEY_CLASSES_ROOT\ET.Template.6]
[-HKEY_CLASSES_ROOT\ET.Workbook]
[-HKEY_CLASSES_ROOT\ET.Workbook.6]
[-HKEY_CLASSES_ROOT\ET.Xls.6]
[-HKEY_CLASSES_ROOT\Installer\Components\58CE92CC2CB71D119A12000A9CE1A22A]
[-HKEY_CLASSES_ROOT\Installer\Components\96CE92CC2CB71D119A12000A9CE1A22A]
[-HKEY_CLASSES_ROOT\Interface\{CC525266-D62A-3F18-B435-8FEA21C370A5}]
[-HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/kswps]
[-HKEY_CLASSES_ROOT\SystemFileAssociations\.wps]
[-HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-4B30-A977-D214852036FE}]
[-HKEY_CLASSES_ROOT\TypeLib\{0C089DF1-F1DA-450A-AF1F-F0EE69230261}]
[-HKEY_CLASSES_ROOT\TypeLib\{44720440-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_CLASSES_ROOT\TypeLib\{45541000-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\TypeLib\{4A1D9D13-2EC6-495B-A5B5-848228E0A1CE}]
[-HKEY_CLASSES_ROOT\TypeLib\{5C635788-CFAC-4149-A9C3-589AC69C6207}]
[-HKEY_CLASSES_ROOT\WPP.PPT.6]
[-HKEY_CLASSES_ROOT\WPP.Application.6]
[-HKEY_CLASSES_ROOT\WPP.Application]
[-HKEY_CLASSES_ROOT\WPP.Presentation]
[-HKEY_CLASSES_ROOT\WPP.Presentation.6]
[-HKEY_CLASSES_ROOT\WPP.Template]
[-HKEY_CLASSES_ROOT\WPP.Template.6]
[-HKEY_CLASSES_ROOT\WPS.Application]
[-HKEY_CLASSES_ROOT\WPS.Application.6]
[-HKEY_CLASSES_ROOT\WPS.Doc.6]
[-HKEY_CLASSES_ROOT\WPS.Document]
[-HKEY_CLASSES_ROOT\WPS.Document.6]
[-HKEY_CLASSES_ROOT\WPS.Template]
[-HKEY_CLASSES_ROOT\WPS.Template.6]
[-HKEY_CURRENT_USER\Software\Kingsoft]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\wps]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wps]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wpt]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.wps]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.et]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.ppt\WPP.PPT.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.wps]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.wpt]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xls\ET.Xls.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{00020906-0000-4b30-A977-D214852036FE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{44720444-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{45540003-5750-5300-4B49-4E47534F4654}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\wps.exe]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\wpp.exe]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\et.exe]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\wpp.exe]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\wps.exe]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00020906-0000-4b30-A977-D214852036FE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00020906-0000-4b30-A977-D214852036FE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{000209FF-0000-4b30-A977-D214852036FE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{426A9CD2-A3C9-4B33-A478-A388EEFC5052}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{44720441-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{44720444-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{44720444-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{45540001-5750-5300-4B49-4E47534F4654}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{45540003-5750-5300-4B49-4E47534F4654}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{45540003-5750-5300-4B49-4E47534F4654}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4554002F-5750-5300-4B49-4E47534F4654}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4554002F-5750-5300-4B49-4E47534F4654}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Chart]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Chart.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Application]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Application.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Template]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Template.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Workbook]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Workbook.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ET.Xls.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\Content Type\application/kswps]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.wps]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020905-0000-4B30-A977-D214852036FE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{0C089DF1-F1DA-450A-AF1F-F0EE69230261}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{0C089DF1-F1DA-450A-AF1F-F0EE69230261}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{44720440-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{45541000-5750-5300-4B49-4E47534F4654}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{4A1D9D13-2EC6-495B-A5B5-848228E0A1CE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{4A1D9D13-2EC6-495B-A5B5-848228E0A1CE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{5C635788-CFAC-4149-A9C3-589AC69C6207}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPP.Application]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPP.Application.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPP.PPT.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPP.Presentation]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPP.Presentation.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPP.Template]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPP.Template.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPS.Application]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPS.Application.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPS.Doc.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPS.Document]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPS.Document.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPS.Template]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WPS.Template.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Kingsoft]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wps.exe]
[-HKEY_CLASSES_ROOT\CLSID\{426A9CD2-A3C9-4B33-A478-A388EEFC5052}]
[-HKEY_CLASSES_ROOT\CLSID\{44720441-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_CLASSES_ROOT\CLSID\{44720444-94BF-4940-926D-4F38FECF2A47}]
[-HKEY_CLASSES_ROOT\CLSID\{45540001-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\CLSID\{45540003-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\CLSID\{4554002F-5750-5300-4B49-4E47534F4654}]
[-HKEY_CLASSES_ROOT\ET.Application]
[-HKEY_CLASSES_ROOT\ET.Application.6]
[-HKEY_CLASSES_ROOT\ET.Chart]
[-HKEY_CLASSES_ROOT\ET.Chart.6]
[-HKEY_CLASSES_ROOT\ET.Template]
[-HKEY_CLASSES_ROOT\ET.Template.6]
[-HKEY_CLASSES_ROOT\ET.Workbook]
[-HKEY_CLASSES_ROOT\ET.Workbook.6]
[-HKEY_CLASSES_ROOT\ET.Xls.6]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.wps]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.wpt]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.et]
打包工具: makecab , iexpress.exe