gpt4 book ai didi

c++ - 在 Windows 7 64 位中使用 32 位 shell 扩展

转载 作者:可可西里 更新时间:2023-11-01 12:46:51 27 4
gpt4 key购买 nike

我想开发一个与 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 扩展是 进程中 加载的 COM 服务器进入 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 位 native 的,因此如果您希望它在 Explorer 中工作,您需要一个 64 位版本的扩展。

关于c++ - 在 Windows 7 64 位中使用 32 位 shell 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13747836/

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