我想创建一个上下文菜单shell扩展,以配合我用Python编写的程序。
我尝试使用来自pywin32的\Lib\site-packages\win32comext\shell\demos\servers\context_menu.py
中的演示(here是文件),但它在我的Win7 x64上无效:它已注册正常并添加了注册表项,但上下文菜单没有显示(即使重新启动后)。所以我搜索了一些,并记住Dropbox说只使用Python进行开发,我查看了它们的上下文菜单注册表项。我发现他们在DropboxExt64.15.dll
中使用了InProcServer32
(虽然我读过this和其他一些资源,但我对shell扩展仍然不太了解)。所以看起来他们将一个c / c ++代码编译成一个dll并使用它来调用python代码。
我的问题是他们是怎么做到的?我在哪里可以找到有关如何使用此方法的资源(示例,指南等)?在context_menu.py
中使用该方法有哪些缺陷?
答案 0 :(得分:4)
您的扩展程序需要64位才能在Windows 7 x64上的资源管理器中显示。所以你需要使用64位Python和64位pywin32。
大多数带有shell扩展的应用程序(如Dropbox)都安装了两个独立的shell扩展,一个用于32位进程,另一个用于64位进程。