Python -- Windows编程 -- 注册表
1.查询开机自启项
startUp.py
import re
import win32api, win32con
def GetValues(fullname):
#分割出基本项name[0]
name = re.split('\\\\', fullname, 1)
if name[0] == 'HKEY_LOCAL_MACHINE':
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, name[1], 0, win32con.KEY_READ)
elif name[0] == 'HKEY_CURRENT_USER':
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, name[1], 0, win32con.KEY_READ)
elif name[0] == 'HKEY_CLASSES_ROOT':
key = win32api.RegOpenKey(win32con.HKEY_CLASSES_ROOT, name[1], 0, win32con.KEY_READ)
elif name[0] == 'HKEY_CURRENT_CONFIG':
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_CONFIG, name[1], 0, win32con.KEY_READ)
elif name[0] == 'HKEY_USERS':
key = win32api.RegOpenKey(win32con.HKEY_USERS, name[1], 0, win32con.KEY_READ)
else:
print('Error, no key named', name[0])
info = win32api.RegQueryInfoKey(key)
if(info[1] == 0):
print('该项没有键值..')
else:
print('共有', info[1], '个键')
for i in range(0, info[1]):
value = win32api.RegEnumValue(key, i)
print('{:>20}: {}'.format(value[0], value[1]))
win32api.RegCloseKey(key)
if __name__ == '__main__':
KeyNames = ['HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run', 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce', 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx', 'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run', 'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce']
for KeyName in KeyNames:
print('@'+KeyName)
try:
GetValues(KeyName)
except:
print('此项不存在!')
else:
print('此项查询成功!')
print()
2.添加开机自启项
add2AutoRun.py
import win32api, win32con #添加自启项 added_key = 'SetIE' added_value = 'C:\\SetIE.py' key_base = win32con.HKEY_CURRENT_USER key_body = 'Software\\Microsoft\\Windows\\CurrentVersion\\Run' key_method = win32con.KEY_ALL_ACCESS key = win32api.RegOpenKey(key_base, key_body, 0, key_method) win32api.RegSetValueEx(key, added_key, 0, win32con.REG_SZ, added_value) win32api.RegCloseKey(key)
3.修改IE标题栏
setIE.py
import time
import win32api, win32con
website = 'www.m.com'
now = time.gmtime()
title = '{:2}年{:2}月{:2}日'.format(now.tm_year, now.tm_mon, now.tm_mday)
key_base = win32con.HKEY_CURRENT_USER
key_body = 'Software\\Microsoft\\Internet Explorer\\Main'
try:
key = win32api.RegOpenKey(key_base, key_body, 0, win32con.KEY_ALL_ACCESS)
win32api.RegSetValueEx(key, 'Start Page', 0, win32con.REG_SZ, website)
win32api.RegSetValueEx(key, 'Window Title', 0, win32con.REG_SZ, title)
win32api.RegCloseKey(key)
except:
print('失败!')
else:
print('成功!')
input(' ')
Python -- Windows编程 -- 注册表的更多相关文章
- [转]Windows系统注册表知识完全揭密
来源:http://www.jb51.net/article/3328.htm Windows注册表是帮助Windows控制硬件.软件.用户环境和Windows界面的一套数据文件,注册表包含在Wind ...
- 【VS调试】C#读写Windows 7注册表时抛出“不允许所请求的注册表访问权”的解决办法
原文:[VS调试]C#读写Windows 7注册表时抛出"不允许所请求的注册表访问权"的解决办法 项目 - 属性 - 安全性,"使用ClickOnce",修改a ...
- Windows -- 从注册表删除IE浏览器加载项
Windows -- 从注册表删除IE浏览器加载项 1. 一部分加载项从注册表以下位置直接删除 2. 一部分扩展项从注册表以下位置直接删除
- python路径写入注册表,导入三方模块win32
python在安装第三方模块时候,需要将python的路径写入注册表,否则会提示 'python version 3.8-32 required,which was not found in the ...
- Windows常用注册表文件
内容转载自我的博客 目录 1. 删除Visual Studio的右键菜单 2. 恢复Visual Studio的右键菜单 3. 右键菜单添加功能 4. USB3.0连接安卓手机刷机出现问题 1. 删除 ...
- java如何操作注册表(Preferences类)(在windows的注册表中保存、读取)
我们经常需要将我们的程序运行中的一些信息(比如在选项对话框中的设置)记录下来,以做便再次运行的时候不用再重写填写这些数据.这对改善软件的人机可用性方面是很有用的.比如:数据库监控.日志工具,JDBMo ...
- WINDOWS系统注册表取得管理权限研究
有的时候开发我们需要取得系统管理员权限,可以通过修改注册表实现,研究网上的各种方法,整理得一下脚本实现取得管理员权限 脚本如下 Windows Registry Editor Version 5.00 ...
- windows下注册表的操作
原博:https://blog.csdn.net/denghubu/article/details/5765921 1. 注册表简介 注册表是为Windows NT和Windows95中所 ...
- windows下注册表脚本编写
Reg文件就是我今天所说的注册表脚本文件,双击可将其中的数据写入注册表.利用注册表脚本文件可以对注册表进行关于键值的任何操作,而且还不受注册表被禁用的限制. 我们平常对注册表的修改大体上可以分 ...
随机推荐
- 图片适应bitmap的大小 http上传文件
image.setAdjustViewBounds(true); http上传文件 http://www.eoeandroid.com/thread-90209-1-1.html http://www ...
- C实现一个NTP客户端,可以从指定IP的NTP服务器获取时间戳
参考::https://blog.csdn.net/dosthing/article/details/81588219 下面的代码测试通过 头文件 #include <sys/types.h&g ...
- KNN和K-Means的区别
KNN和K-Means的区别 KNN K-Means 1.KNN是分类算法 2.监督学习 3.喂给它的数据集是带label的数据,已经是完全正确的数据 1.K-Means是聚类算法 2.非监督学习 3 ...
- jquery ui导入两次的错误提示
如果jquery ui plugin的js文件出现到两次的话,就会出现报错. 解决办法: 找出引用了jquery ui 的文件,将其中一个去掉就ok了. 在Firefox下面的报错提示: TypeEr ...
- unlimited channel buffer in Go
channel buffer可以事先分配大小,但是这些是需要占用内存的,事先分配几G内存给一个channel很浪费资源的,所以怎样创建一个无限的channel buffer呢?比较naive的写法就是 ...
- 微信Web APP应用
微信Web APP即微信公众账号,对web APP的提供者来说这是一个门槛极低,容易到达数亿真实用户且确保用户黏性的分发平台;对用户来说,这是一种前所未有及其简单的应用使用方式;对腾讯来 说,将形成微 ...
- 在TFS中使用Git Tags(标签或标记),实现代码的版本管理
一.概述: 与TFVC中标记(Label)一样,Git的标签(Tag)也是TFS系统的代码管理中非常重要的一个版本管理工具.使用标签,我们可以每个时间点的代码注上一个通俗.并且容易记忆的名称(例如标签 ...
- abp + angular $http + webapi 服务
什么是angular $http服务 http是angularjs的一个核心服务,用于读取远程服务器的数据,也就是封装了浏览器原生的xhtmlrequest对象,可以直接同外部进行通信. 怎样使用an ...
- C# null,string.Empty,"",DBNull 的区别
[null] null 在C# 中是一个关键字,表示不引用任何对象的空引用的文字值. null 是引用类型变量的默认值. 普通值类型不能为 null. null 在 VS 中定位不出来具体是怎么定义的 ...
- C# 使用log4net写日记
一 导入LOG4NET 打开VS2012 工具>>库程序包管理器>>管理解决方案的NuGet程序包,搜索LOG4NET,如下图 二 添加配置文件log4net.config 在 ...