a „oeƒ ã@snddlZddlZddlZddlmZmZGdd„dƒZdd„Zdd„Ze d krjdd l m Z e j eeed �dS) éN)ÚshellÚshellconc@s.eZdZdZdZdZejgZdgZ dd„Z dS)ÚShellExtensionzPython.ShellExtension.CopyHookz)Python Sample Shell Extension (copy hook)z&{1845b6ba-2bbd-4197-b930-46d8651497c1}Ú CopyCallBackc Cs(td|||||||ƒt |ddtj¡S)NrzAllow operation?ZCopyHook)ÚprintÚwin32guiZ MessageBoxÚwin32conZMB_YESNO)ÚselfZhwndÚfuncÚflagsZsrcNameZsrcAttrZdestNameZdestAttr©r úJC:\Program Files\Certbot\pkgs\win32comext\shell\demos\servers\copy_hook.pyrs ÿzShellExtension.CopyCallBackN) Ú__name__Ú __module__Ú __qualname__Z _reg_progid_Ú _reg_desc_Ú _reg_clsid_rZ IID_ICopyHookZ_com_interfaces_Z_public_methods_rr r r r rs rcCslddl}| |jdtj¡}| |dd|jtj¡| |jdtj¡}| |dd|jtj¡ttjdƒdS)Nrú#directory\shellex\CopyHookHandlers\ú*\shellex\CopyHookHandlers\zregistration complete.) ÚwinregÚ CreateKeyÚHKEY_CLASSES_ROOTrrÚ SetValueExÚREG_SZrr)rÚkeyr r r ÚDllRegisterServer"sþþrc CsÀddl}z| |jdtj¡}Wn:tyZ}z"ddl}|j|jkrF‚WYd}~n d}~00z| |jdtj¡}Wn:ty®}z"ddl}|j|jkrš‚WYd}~n d}~00ttjdƒdS)Nrrrzunregistration complete.) rÚ DeleteKeyrrrÚ WindowsErrorÚerrnoÚENOENTr)rrZdetailsrr r r ÚDllUnregisterServer2s(þ þ r Ú__main__)Úregister)Zfinalize_registerZfinalize_unregister) Z pythoncomrrZwin32com.shellrrrrr rZwin32com.serverr"ZUseCommandLiner r r r Ú s ý