继续上次,贴出export的python版实现

以后在windows上就可以使用export了,很方便吧

  1. """
  2. -*- encoding=utf-8 -*-
  3. Author :  winterTTr <winterTTr@gmail.com>
  4. Desc   :  The 'export' command on win32 platform
  5. Name   :  win32export.py
  6. NOTE   :  Make sure the pywin32 has been installed.
  7. Licence:  MIT License
  8. """
  9. try :
  10.     import win32gui
  11.     import win32con
  12.     import win32api
  13. except ImportError:
  14.     raise ImportError , "You Should install pywin32 if you want to use win32export"
  15. __author__ = "winterTTr <winterTTr@gmail.com>"
  16. __svnid__ = "$Id: win32export.py 5 2008-08-21 03:55:31Z winterTTr $"
  17. __version__ = "$Revision: 5 $"[11:-2]
  18. def export ( name , value , update_system = True ):
  19.     """
  20.     Export 'name' with 'value' to system .
  21.     You can let update_system=False , if you don't want to make the
  22.     change avaliable at once .( updateSystem is a time-consuming action.)
  23.     """
  24.     try :
  25.         modifyVariableInRegister( name , value )
  26.     except:
  27.         return False
  28.     if update_system :
  29.         updateSystem()
  30.     return True
  31. def modifyVariableInRegister( name , value ):
  32.     """
  33.     Add ( or modify ) the 'name' with 'value' to the register.
  34.     Register Postion : HKEY_CURRENT_USER/Environment
  35.     """
  36.     key = win32api.RegOpenKey( win32con.HKEY_CURRENT_USER,"Environment",0,win32con.KEY_ALL_ACCESS)
  37.     if not key : raise
  38.     win32api.RegSetValueEx( key , name , 0 , win32con.REG_SZ , value )
  39.     win32api.RegCloseKey( key )
  40. def updateSystem():
  41.     """
  42.     Call SendMessageTimeout to send broadcast to all window , notice
  43.     that the system setting is changed 
  44.     """
  45.     rc,dwReturnValue = win32gui.SendMessageTimeout( win32con.HWND_BROADCAST , win32con.WM_SETTINGCHANGE , 0 , "Environment" , win32con.SMTO_ABORTIFHUNG, 5000)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值