在Windows 7的64位使用32位的外壳扩展(Using 32-bit shell extens

2019-07-04 16:19发布

我想开发一个shell扩展(上下文菜单句柄)与Windows XP SP2(32位)和Windows 7 64位兼容。

是否有可能在运行64位Windows的32位的外壳扩展,或必须在外壳扩展被移植/重建到64位Windows 7中的64位中使用?

是否有在64位操作系统上使用32位的外壳扩展任何缺点/已知的问题?

32位应用程序运行在64位Windows就好了,但我不知道外壳扩展,因为如果我的理解是正确的,外壳扩展都加载到浏览器进程的进程内 COM服务器,这应该是一个64在64位Windows位进程...或是提供一种用于在64位操作系统上运行32位的外壳扩展“32位仿真”的形式?

Answer 1:

一个外壳扩展仅仅是一个DLL,并且规则是32位应用程序只能加载32位DLL,和64位应用程序只能加载64位的DLL。 有没有办法解决这个。

因为这意味着该加载外壳扩展任何32位的第三方应用将工作的32位的外壳扩展可能仍然是一个64位的系统上是有用的。 例如,TortoiseSVN的附带并安装32位和64位版本,等64位Windows,你仍然可以访问从32位应用程序TortoiseSVN的上下文菜单(如第三方文件管理器)。

但是,浏览器本身是在64位Windows 64位原生等你,如果你想让它在资源管理工作的需要扩展的64位版本。



Answer 2:

外壳扩展是COM组件。 如果你安装它作为进程外的一个服务器,Windows(DCOM)应采取所有的32个护理< - > 64位编组。

然后MIDL编译器将创建在加载过程中,64位存根。



Answer 3:

您可以使用32位探险家,喜欢xplorer²在64位Windows。 他们可以控制的可以用来作为搜索内容,预览数据和那些还显示在上下文菜单中32位的DLL扩展。 内置的浏览器是64位,而忽略的32位扩展。



文章来源: Using 32-bit shell extensions in Windows 7 64-bit