6

I would like to create a context menu shell extension, to go with a program I write in Python.

I tried to work with a the demo in \Lib\site-packages\win32comext\shell\demos\servers\context_menu.py from pywin32 (here is the file) but it didn't work on my Win7 x64: It registered alright and added the registry keys, but the context menu didn't show up (even after a reboot). So I searched some more, and remembering that Dropbox saying that use only Python for development, I looked at their context menu registry keys. I found that they used: DropboxExt64.15.dll in their InProcServer32 (although I've read this and some other resources, I still don't know much about shell extensions). So it looks like they compiled a c/c++ code to a dll and use it to invoke python code.

My question is how did they do it? Where can I find resources (examples, guides, etc.) on how to use this method? What are the flaws of using the method in context_menu.py?

4

1 に答える 1

4

Windows 7 x64 のエクスプローラーに表示するには、拡張機能が 64 ビットである必要があります。したがって、64 ビットの Python と 64 ビットの pywin32 を使用する必要があります。

Dropbox などのシェル拡張機能を備えたほとんどのアプリケーションは、32 ビット プロセス用と 64 ビット プロセス用の 2 つの別個のシェル拡張機能をインストールします。

Windows 7 64 ビットでの 32 ビット シェル拡張の使用

于 2013-03-11T01:39:43.240 に答える