【问题标题】:How to create a shell extension context menu in Python (like dropbox)如何在 Python 中创建 shell 扩展上下文菜单(如 Dropbox)
【发布时间】:2012-10-06 11:28:02
【问题描述】:

我想创建一个上下文菜单外壳扩展,以配合我用 Python 编写的程序。

我尝试使用来自pywin32 的\Lib\site-packages\win32comext\shell\demos\servers\context_menu.py 中的演示(here 是文件),但它在我的 Win7 x64 上不起作用:它注册正常并添加了注册表项,但上下文菜单没有出现(即使在重新启动后)。所以我又搜索了一些,并记得 Dropbox 说只使用 Python 进行开发,我查看了他们的上下文菜单注册表项。我发现他们在他们的InProcServer32 中使用了:DropboxExt64.15.dll(虽然我已经阅读了this 和其他一些资源,但我仍然不太了解shell 扩展)。所以看起来他们将 c/c++ 代码编译为 dll 并使用它来调用 python 代码。

我的问题是他们是怎么做到的?我在哪里可以找到有关如何使用此方法的资源(示例、指南等)?使用context_menu.py中的方法有什么缺陷?

【问题讨论】:

标签: python windows-shell win32com


【解决方案1】:

您的扩展程序必须是 64 位才能显示在 Windows 7 x64 的资源管理器中。所以你需要使用 64 位 Python 和 64 位 pywin32。

大多数带有外壳扩展的应用程序,如 Dropbox,安装两个单独的外壳扩展,一个用于 32 位进程,一个用于 64 位进程。

Using 32-bit shell extensions in Windows 7 64-bit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    相关资源
    最近更新 更多