查看系统启动项

#-*- coding: UTF-8 -*- 
#  file: AutoRuns.py
#import string                        
# 导入所需要的模块
from win32api import *
from win32con import *
def GetValues(fullname):    
#  GetValues函数用于获得某注册表项下所有的项值
  name=string.split(fullname, '\\', 1) 
#  把完整的项拆分成根项和子项两部分
# 打开相应的项,为了让该函数更通用
# 使用了多个判断语句
  if name[0] == 'HKEY_LOCAL_MACHINE':
    key = RegOpenKey(HKEY_LOCAL_MACHINE, name[1], 0, KEY_READ)
    elif name[0] == 'HKEY_CURRENT_USER':
        key = RegOpenKey(HKEY_CURRENT_USER, name[1], 0, KEY_READ)
        elif name[0] == 'HKEY_CLASSES_ROOT':
            key = RegOpenKey(HKEY_CLASSES_ROOT, name[1], 0, KEY_READ)
            elif name[0] == 'HKEY_CURRENT_CONFIG':
                key = RegOpenKey(HKEY_CURRENT_CONFIG, name[1], 0, KEY_READ)
                elif name[0] == 'HKEY_USERS':
                    key = RegOpenKey(HKEY_USERS, name[1], 0, KEY_READ)
                    else:
                        print 'err,no key named %s' (name[0])  info = RegQueryInfoKey(key)     
                         # 查询项的项值数目
                         # 遍历项值获得项值数据
                         for i in range(0, info[1]):
                             ValueName = RegEnumValue(key, i)
                             print string.ljust(ValueName[0], 20), ValueName[1] 
                             # 调整项值名称长度,使输出更好看RegCloseKey(key)                 
                             # 关闭打开的项# 因为GetValues函数比较通用,所以可以在其他脚本中调用
                             # 这里先检查脚本是否被其他脚本调用       
                             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:                        
                                     # 遍历列表,调用GetValues函数, 输出项值
                                     print KeyName
                                     GetValues(KeyName) 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值