我用32位创建了一个构建的dll文件(Project:win32 app,使用Visual Studio 2008的ATL和COM对象)。在win 7 32位操作系统中,注册我的dll后,我在上下文菜单中获得“ABC”选项(右键单击)。现在我开始赢得7位64位操作系统。 Dll加载成功,但我没有在右键单击(在上下文菜单中)获得“ABC”选项。任何人都可以指出我哪里出错或有任何建议吗?
注意:右键单击文件夹会显示“ABC”选项。
答案 0 :(得分:3)
为32位编译的shell扩展只能在32位进程中运行。 64位Windows的Windows资源管理器是64位进程,因此需要64位shell扩展。
如果32位应用程序将使用fileopen对话框(在64位Windows上),则该对话框将需要32位shell扩展。因此,建议您按照以下方式安装扩展程序:
为此,您必须为32位/ 64位shell扩展提供不同的GUID。希望能让它更加清晰。
编辑:正如Raymond所说,似乎你可以为两个扩展使用相同的GUID。