我目前正在研究DLL
for Windows Explorer
,它为某些类型的文件提供各种功能,例如信息和缩略图。到目前为止它在 Windows x64 上运行良好,我现在正在处理这个32/64 bits
问题和注册过程(这个过程是由一个小的独立程序编写的C#
)。
我的理解是:
- 64 位 DLL 不适用于 32 位应用程序,反之亦然
- 因此 64 位 DLL 不适用于 32 位应用程序的打开文件对话框
- 我需要分别注册 32 位和 64 位版本
我的问题是:
- 到目前为止我的假设是否正确?特别是我想知道应用程序打开的浏览对话框是否必须与应用程序具有相同的位数(或者该对话框是否由某些 Windows 64 进程管理?)
- 假设我的 DLL 有 32 位和 64 位版本,如何从 64 位程序中注册它们?(“好的 Windows,我是一个 64 位进程,但我正在为 32 位应用程序注册它,明白吗?”)
我读过的一些关于这个主题的页面:
http://msdn.microsoft.com/en-us/library/aa384232%28v=VS.85%29.aspx