我想开发一个与 Windows XP SP2(32 位)和 Windows 7 64 位兼容的 shell 扩展(上下文菜单处理程序)。
是否可以在 64 位 Windows 中运行 32 位 shell 扩展,或者必须将 shell 扩展移植/重建为 64 位才能在 Windows 7 64 位中使用?
在 64 位操作系统中使用 32 位 shell 扩展是否有任何缺点/已知问题?
32 位应用程序在 64 位 Windows 中运行得很好,但我不确定 shell 扩展,因为,如果我的理解是正确的,shell 扩展是in-procCOM 服务器加载到 Explorer 进程中,该进程应该是 64 位 Windows 中的 64 位进程...或者是为在 64 位操作系统中运行的 32 位 shell 扩展提供的一种“32 位模拟”形式?
shell扩展只是一个DLL,规则是32位应用程序只能加载32位DLL,64位应用程序只能加载64位DLL。这是没有办法解决的。
32 位 shell 扩展在 64 位系统上可能仍然有用,因为这意味着任何加载 shell 扩展的 32 位第三方应用程序都可以工作。例如,TortoiseSVN 附带并安装了 32 位和 64 位版本,因此在 64 位 Windows 上您仍然可以从 32 位应用程序(如第三方文件管理器)访问 TortoiseSVN 上下文菜单。
但 Explorer 本身是 64 位 Windows 上的 64 位本机,因此如果您希望扩展在 Explorer 中运行,则需要 64 位版本的扩展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)