查看系统启动项



  1. #-*- coding: UTF-8 -*-   
  2. #  file: AutoRuns.py  
  3. #import string                          
  4. # 导入所需要的模块  
  5. from win32api import *  
  6. from win32con import *  
  7. def GetValues(fullname):      
  8. #  GetValues函数用于获得某注册表项下所有的项值  
  9.   name=string.split(fullname, '\\'1)   
  10. #  把完整的项拆分成根项和子项两部分  
  11. # 打开相应的项,为了让该函数更通用  
  12. # 使用了多个判断语句  
  13.   if name[0] == 'HKEY_LOCAL_MACHINE':  
  14.     key = RegOpenKey(HKEY_LOCAL_MACHINE, name[1], 0, KEY_READ)  
  15.     elif name[0] == 'HKEY_CURRENT_USER':  
  16.         key = RegOpenKey(HKEY_CURRENT_USER, name[1], 0, KEY_READ)  
  17.         elif name[0] == 'HKEY_CLASSES_ROOT':  
  18.             key = RegOpenKey(HKEY_CLASSES_ROOT, name[1], 0, KEY_READ)  
  19.             elif name[0] == 'HKEY_CURRENT_CONFIG':  
  20.                 key = RegOpenKey(HKEY_CURRENT_CONFIG, name[1], 0, KEY_READ)  
  21.                 elif name[0] == 'HKEY_USERS':  
  22.                     key = RegOpenKey(HKEY_USERS, name[1], 0, KEY_READ)  
  23.                     else:  
  24.                         print 'err,no key named %s' (name[0])  info = RegQueryInfoKey(key)       
  25.                          # 查询项的项值数目  
  26.                          # 遍历项值获得项值数据  
  27.                          for i in range(0, info[1]):  
  28.                              ValueName = RegEnumValue(key, i)  
  29.                              print string.ljust(ValueName[0], 20), ValueName[1]   
  30.                              # 调整项值名称长度,使输出更好看RegCloseKey(key)                   
  31.                              # 关闭打开的项# 因为GetValues函数比较通用,所以可以在其他脚本中调用  
  32.                              # 这里先检查脚本是否被其他脚本调用         
  33.                              if _name_ == '_main_':   
  34.                                  # 因为要检查的项较多,故将其放在列表中,便于增减    
  35.                                  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']  
  36.                                  for KeyName in KeyNames:                          
  37.                                      # 遍历列表,调用GetValues函数, 输出项值  
  38.                                      print KeyName  
  39.                                      GetValues(KeyName)  

 本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/382735,如需转载请自行联系原作者

上一篇:《Photoshop修色圣典——PPW专业照片修正流程与技巧》—第1章如果可以花更多时间


下一篇:对于程序员来说,“选择比努力更重要”是一句屁话