2012-10-06 34 views
5

Tôi muốn tạo một tiện ích mở rộng trình đơn ngữ cảnh, để đi với một chương trình tôi viết bằng Python.Cách tạo trình đơn ngữ cảnh mở rộng vỏ trong Python (như dropbox)

Tôi đã cố gắng làm việc với bản trình diễn trong \Lib\site-packages\win32comext\shell\demos\servers\context_menu.py từ pywin32 (here là tệp) nhưng nó không hoạt động trên Win7 x64 của tôi: Đăng ký hoàn toàn và thêm khóa đăng ký, nhưng menu ngữ cảnh không hiển thị lên (ngay cả sau khi khởi động lại). Vì vậy, tôi tìm kiếm một số chi tiết, và nhớ rằng Dropbox nói rằng chỉ sử dụng Python để phát triển, tôi nhìn vào các phím đăng ký menu ngữ cảnh của chúng. Tôi thấy rằng họ đã sử dụng: DropboxExt64.15.dll trong InProcServer32 của họ (mặc dù tôi đã đọc this và một số tài nguyên khác, tôi vẫn không biết nhiều về tiện ích mở rộng vỏ). Vì vậy, có vẻ như họ đã biên dịch mã c/C++ thành một dll và sử dụng nó để gọi mã python.

Câu hỏi của tôi là họ đã làm như thế nào? Tôi có thể tìm tài nguyên ở đâu (ví dụ, hướng dẫn, v.v.) về cách sử dụng phương pháp này? Những sai sót của việc sử dụng phương pháp trong context_menu.py là gì?

+0

liên quan: [Windows menu ngữ cảnh thám hiểm với sub-menu sử dụng PyWin32] (https://stackoverflow.com/q/10833710/321973) –

Trả lời

4

Tiện ích mở rộng của bạn cần phải có 64 bit để hiển thị trong Explorer trên Windows 7 x64. Vì vậy, bạn cần sử dụng Python 64 bit và pywin32 64 bit.

Hầu hết các ứng dụng có tiện ích mở rộng vỏ, như Dropbox, cài đặt hai phần mở rộng vỏ riêng biệt, một cho quy trình 32 bit và một cho quy trình 64 bit.

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

+0

Tôi đã làm điều này và nó vẫn không hoạt động –

Các vấn đề liên quan