gpt4 book ai didi

com - 64位COM(ActiveX)服务器

转载 作者:行者123 更新时间:2023-12-02 02:32:40 25 4
gpt4 key购买 nike

我有在 32 位操作系统上构建和注册良好的 activex 服务器 exe。我想通过将项目升级到 Visual Studio 2010 并将平台更改为 X64 来制作该 exe 的 64 位版本,但这显然不起作用。

应用程序本身可以工作,但运行后我没有看到它注册

That.exe /RegServer

如果有关于将 activex 从 32 迁移到 x64 的有用建议,我将不胜感激。

处理/RegServer 参数的代码如下:

if(lstrcmpi(lpszToken, _T("RegServer")) == 0)
{
_Module.UpdateRegistryFromResource(IDR_OUTDISKSARG, TRUE);
nRet = _Module.RegisterServer(TRUE);
bRun = false;
break;
}

32 位 activex 对我来说不可用,因为我必须在 x64 .NET 进程中加载​​它。

最佳答案

假设该进程有足够的权限写入注册表,您必须通过从提升的命令提示符运行它来解决这个问题,这可能只会将 COM 注册表项添加到注册 TableView 中 64 -位进程可以看到。

32 位 COM 客户端获得不同的注册 TableView HKLM\Software\Wow6432Node。它不会在那里找到注册表项。查看 SDK 文档中的 RegCreateKeyEx()。请注意底部的链接以及有关 KEY_WOW64_32KEY 选项的讨论。在线文章is here

访问 64 位进程外 COM 服务器的 32 位客户端是一个得到很好支持的场景,但有一些注意事项。就像构建和注册 32 位和 64 位代理/ stub DLL 一样。

关于com - 64位COM(ActiveX)服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4513566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com