码迷,mamicode.com
首页 > 编程语言 > 详细

给python解释器本身添加注册表

时间:2017-03-03 00:00:56      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:div   from   efi   pytho   weak   span   war   解释器   current   

import sys
from _winreg import *

# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
    installpath, installpath, installpath
)


def RegisterPy():
    print "begin RegisterPy "
    try:
        print "open key : %s" % regpath
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
    except EnvironmentError as e:
        try:
            reg = CreateKey(HKEY_CURRENT_USER, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print "*** EXCEPT: Unable to register!"
            return

        print "--- Python", version, "is now registered!"
        return

    if (QueryValue(reg, installkey) == installpath and
                QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print "=== Python", version, "is already registered!"
        return CloseKey(reg)

    print "*** ERROR:Unable to register!"
    print "*** REASON:You probably have another Python installation!"


def UnRegisterPy():
    # print "begin UnRegisterPy "
    try:
        print "open HKEY_CURRENT_USER key=%s" % (regpath)
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
        # reg = OpenKey(HKEY_LOCAL_MACHINE, regpath)
    except EnvironmentError:
        print "*** Python not registered?!"
        return
    try:
        DeleteKey(reg, installkey)
        DeleteKey(reg, pythonkey)
        DeleteKey(HKEY_LOCAL_MACHINE, regpath)
    except:
        print "*** Unable to un-register!"
    else:
        print "--- Python", version, "is no longer registered!"


if __name__ == "__main__":
    RegisterPy()

 

给python解释器本身添加注册表

标签:div   from   efi   pytho   weak   span   war   解释器   current   

原文地址:http://www.cnblogs.com/JMLiu/p/6493009.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!