2012-10-06 11 views
5

私はPythonで書かれたプログラムに行くために、コンテキストメニューシェル拡張を作成したいと思います。Pythonでシェル拡張コンテキストメニューを作成する方法(dropboxのような)

私はpywin32から\Lib\site-packages\win32comext\shell\demos\servers\context_menu.pyにデモで動作するようにしようとした(hereがファイルである)が、それは私のwin7のx64の上では動作しませんでした:それは大丈夫登録とレジストリキーを追加しましたが、コンテキストメニューが表示されませんでした(再起動しても)。だから私はもう少し調べて、Dropboxが開発用にPythonだけを使用していることを覚えているので、私はそのコンテキストメニューのレジストリキーを調べました。私は彼らがInProcServer32DropboxExt64.15.dllを使用していることを発見しました(私はthisといくつかの他のリソースを読んだことがありますが、私はまだシェル拡張についてあまり知らない)。だから、彼らはdllにc/C++コードをコンパイルし、それを使ってPythonコードを呼び出すように見えます。

私の質問はどのようなことですか?この方法の使い方に関するリソース(例、ガイドなど)はどこで見つけることができますか? context_menu.pyでメソッドを使用する際の欠陥は何ですか?

+0

:(https://stackoverflow.com/q/10833710/321973)[pywin32を使用してサブメニューを使用してWindowsエクスプローラのコンテキストメニュー] –

答えて

4

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

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

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

+0

私はこれをしなかったし、それはまだ動作しません。 –

関連する問題