模块“mscomctl.ocx”已加载,但对DllRegisterServer的调用失败,错误代码为0x8002801c 如何解决 谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块“mscomctl.ocx”已加载,但对DllRegisterServer的调用失败,错误代码为0x8002801c 如何解决 谢谢相关的知识,希望对你有一定的参考价值。

参考技术A win7操作系统,管理员方式运行命令提示符再注册 参考技术B 这个好像要用附件里的命令提示符的,win7的话要用管理员身份运行,然后再进行注册

C#利用AxImp工具在WPF中使用OCX控件

一、注册OCX并利用工具生成dll

@echo off
color a
::Failed
REGSVR32 /S /I "MSCOMCTL.OCX"
if exist %windir%\SysWOW64 (
.\AxImp.exe "C:\Windows\SysWOW64\MSCOMCTL.ocx" /out:.\MSCOMCTL64.dll  
) else (				 
.\AxImp.exe "C:\Windows\System32\MSCOMCTL.ocx" /out:.\MSCOMCTL32.dll 
)

pause

二、添加引用(OCX生成的dll)并编码使用

项目引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll

xaml代码使用
<Window x:Class="wpf_ocx2dll.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        添加命名空间
        xmlns:ms="clr-namespace:MSComctlLib;assembly=MSComctlLib"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <WindowsFormsHost x:Name="host">
            <ElementHost>
                <!--<ms:Button Caption="test" />-->
            </ElementHost>
        </WindowsFormsHost>
    </Grid>
</Window>

或cs代码使用

 MSComctlLib.IButton btn = new MSComctlLib.Button();
        public MainWindow()
        {
            InitializeComponent();
            try
            {
                ((System.ComponentModel.ISupportInitialize)btn).BeginInit(); 
                //host.Child =btn; 
                ((System.ComponentModel.ISupportInitialize)btn).EndInit();

            }
            catch (Exception ex)
            {
            }
        }

  

所用工具:http://pan.baidu.com/s/1i4AIBxr

以上是关于模块“mscomctl.ocx”已加载,但对DllRegisterServer的调用失败,错误代码为0x8002801c 如何解决 谢谢的主要内容,如果未能解决你的问题,请参考以下文章

模块"MSCOMCTL.OCX"已加载,但对DllRegisterServer的调用失败,错误代码为0x8002801c. 这个怎么解决啊。急

mscomctl.ocx问题

无法从Windows Server 2003上的mscomctl.ocx加载控件'imagelist'

mscomctl.ocx 加载失败怎么弄啊

更新KB 2687323后,VB6 IDE无法加载MSCOMCTL.OCX

VB6工程在Win10系统打开提示MSCOMCTL.OCX无法加载