如何使AutoIt引用在C#中工作?
这件事让我毛骨悚然 我有一个几年前构建的遗留应用程序,它使用AutoItX——一切正常 现在是尝试更新应用程序的时候了,所以我已经将其升级到VS2012/.NET4,我根本无法获得对AutoItX库的引用 我已经安装了应用程序,用regsvr32注册了dll,尝试了引用本身的所有属性设置组合(嵌入互操作类型/隔离),但没有乐趣 每当我尝试创建AutoItX3对象时,总会遇到以下错误: 正在检索具有CLSID的组件的COM类工厂 {1A671297-FA74-4422-80FA-6C5D8CE4DE04}由于以下原因失败 错误:80040154类未注册(HRESULT异常: 0x80040154(REGDB_E_CLASSNOTREG)) 我在64位机器上,这是一个问题吗?我没有尝试使用64位DLL版本。Hainesy 您是否使用x64 Windows? 当我开始看COM时,我也遇到了同样的问题。 如果是这样,您应该尝试在HKEY_LOCAL_MACHINE\SOFTWARE\WoW6432Node\Classes中注册您的类 试试看 问候好的解决方案是:如何使AutoIt引用在C#中工作?,c#,com,autoit-c#-wrapper,C#,Com,Autoit C# Wrapper,这件事让我毛骨悚然 我有一个几年前构建的遗留应用程序,它使用AutoItX——一切正常 现在是尝试更新应用程序的时候了,所以我已经将其升级到VS2012/.NET4,我根本无法获得对AutoItX库的引用 我已经安装了应用程序,用regsvr32注册了dll,尝试了引用本身的所有属性设置组合(嵌入互操作类型/隔离),但没有乐趣 每当我尝试创建AutoItX3对象时,总会遇到以下错误: 正在检索具有CLSID的组件的COM类工厂 {1A671297-FA74-4422-80FA-6C5D8CE4D
参考资料:是的,我知道!你能再给我一点关于如何在那里注册班级的信息吗?有没有一种命令行方式来注册它?嗯,你可以试试reg脚本。我只是自己启动COM,并手动完成所有操作。基本上,您需要在HKEY_LOCAL_MACHINE\SOFTWARE\WoW6432Node\Classes\{your-CLSID}\(DLL路径(InprocServer32)、HKEY_LOCAL_MACHINE\SOFTWARE\WoW6432Node\Interface\{your-IID}中注册CLSID\如果您曾经注册过进程内服务器,您需要将所有内容放入HKEY_LOCAL_MACHINE\SOFTWARE\WoW6432Node\中,就像您在32位计算机上对HKEY_LOCAL_MACHINE\SOFTWARE\所做的一样。这是否回答了您的问题?请标记为重复,而不是转述现有答案。