设为首页 收藏本站
查看: 988|回复: 0

[经验分享] python练习贴03 修改注册表

[复制链接]

尚未签到

发表于 2017-4-29 13:47:45 | 显示全部楼层 |阅读模式
  使用Python修改注册表, 需要使用Win32 Extensions for Python,
  该项目的网址如下:
  http://sourceforge.net/project/platformdownload.php?group_id=78018
  http://starship.python.net/crew/mhammond/win32/Downloads.html
  网上google了一下,<<征服Python:语言基础与典型应用>>第10章有有python win32api的一个讲解.
  下面是网上一个可读的链接:10.1  访问Windows注册表 

  我写了一个修改环境变量的例子:

def setSystemEnvironment(keyName,keyValue):
"""set the windows system environment.
"""
# open the position where system stores system environment.
pathInReg = 'SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment'
#pathInReg = 'SYSTEM\\ControlSet001\\Control\\Session Manager\\Environment'
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,pathInReg,0,win32con.KEY_ALL_ACCESS)
win32api.RegSetValueEx(key,keyName,0,win32con.REG_SZ,keyValue)
win32api.RegCloseKey(key)
if __name__ == "__main__":
setSystemEnvironment('jason999','Value123')

  测试了一下, 这个代码修改注册表嗷嗷好用, 但是该值没有立即反应到环境变量中,
  google了一下"windows 注册表 环境变量 立即生效"
  原来环境变量的值虽然反映到注册表中, 但是因没有触发Windows去读这个注册表,
  所以要想让该值在环境变量中立即生效需要采用以下方法中的一种:
  a. 重启
  b. 邮件我的电脑->高级->环境变量->直接点击确定按钮
  (此时会去发windows去读注册表,可以拿AutoHotKey录个脚本)
  c. 使用其他工具或语言发送注册表变化消息WM_SETTINGCHANGE:
  (很多开源软件的的安装器都实现了环境变量立即生效的功能, 可以参照一下).

SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,LPARAM("Environment"), SMTO_ABORTIFHUNG, 5000, &MsgResult);
   恩, 先到这里, 和微软打交道还是微软的好用啊~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-370841-1-1.html 上篇帖子: Python解决codeforces ---- 2 下篇帖子: 创建简单声明式python对象模型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表