/[cvs]/nfo/projects/mess/src/client/windows/context_menu.py
ViewVC logotype

Diff of /nfo/projects/mess/src/client/windows/context_menu.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by joko, Sat Jun 3 22:26:56 2006 UTC revision 1.8 by joko, Sat Jun 3 23:09:56 2006 UTC
# Line 1  Line 1 
1  # A sample context menu handler.  # Derived from Python24\Lib\site-packages\win32comext\shell\demos\servers\context_menu.py
2  # Adds a 'Hello from Python' menu entry to .py files.  When clicked, a  # >> a bit more complex <<
3  # simple message box is displayed.  
4  #  # Acknowledgements to Mark Hammond for his "Python for Windows extensions"
5  # To demostrate:  # http://python.net/crew/mhammond/
6  # * Execute this script to register the context menu.  
7  # * Open Windows Explorer, and browse to a directory with a .py file.  # ... and Michael Dunn for his
8  # * Right-Click on a .py file - locate and click on 'Hello from Python' on  # "The Complete Idiot's Guide to Writing Shell Extensions"-series at "The Code Project"
9  #   the context menu.  # http://www.codeproject.com/shell/shellextguideindex.asp
10    
11    # You're great guys!
12    
 # see also: http://www.codeproject.com/shell/ShellExtGuide2.asp  
13    
14  import pythoncom  import pythoncom
15  from win32com.shell import shell, shellcon  from win32com.shell import shell, shellcon
# Line 20  IContextMenu_Methods = ["QueryContextMen Line 21  IContextMenu_Methods = ["QueryContextMen
21  IShellExtInit_Methods = ["Initialize"]  IShellExtInit_Methods = ["Initialize"]
22    
23  class ShellExtension:  class ShellExtension:
24      _reg_progid_ = "Python.ShellExtension.ContextMenu"      _reg_progid_ = "Mess.ShellExtension.ContextMenu"
25      _reg_name_ = "MessClient"      _reg_name_ = "MessClient"
26      _reg_desc_ = "Mess Shell Extension"      _reg_desc_ = "Mess Shell Extension"
27      _reg_clsid_ = "{CED0336C-C9EE-4a7f-8D7F-C660393C381F}"      _reg_clsid_ = "{CED0336C-C9EE-4a7f-8D7F-C660393C381F}"
# Line 156  def DllRegisterServer(): Line 157  def DllRegisterServer():
157            
158      # extended (via http://mail.python.org/pipermail/python-list/2003-December/198390.html)      # extended (via http://mail.python.org/pipermail/python-list/2003-December/198390.html)
159    
160      # for folders      # for directory background
161      background_key = _winreg.CreateKey(_winreg.HKEY_CLASSES_ROOT, "Directory\\Background\\shellex")      background_key = _winreg.CreateKey(_winreg.HKEY_CLASSES_ROOT, "Directory\\Background\\shellex")
162      background_subkey = _winreg.CreateKey(background_key, "ContextMenuHandlers")      background_subkey = _winreg.CreateKey(background_key, "ContextMenuHandlers")
163      background_subkey2 = _winreg.CreateKey(background_subkey, ShellExtension._reg_name_)      background_subkey2 = _winreg.CreateKey(background_subkey, ShellExtension._reg_name_)
# Line 183  def DllUnregisterServer(): Line 184  def DllUnregisterServer():
184      # extended (via http://mail.python.org/pipermail/python-list/2003-December/198390.html)      # extended (via http://mail.python.org/pipermail/python-list/2003-December/198390.html)
185    
186      try:      try:
187            # for directory background
188            background_key = _winreg.DeleteKey(_winreg.HKEY_CLASSES_ROOT,
189                                    "Directory\\Background\\shellex\\ContextMenuHandlers\\" + ShellExtension._reg_name_)
190          # for folders          # for folders
191          folder_key = _winreg.DeleteKey(_winreg.HKEY_CLASSES_ROOT,          folder_key = _winreg.DeleteKey(_winreg.HKEY_CLASSES_ROOT,
192                                  "Folder\\shellex\\ContextMenuHandlers\\" + ShellExtension._reg_name_)                                  "Folder\\shellex\\ContextMenuHandlers\\" + ShellExtension._reg_name_)

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.8

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed