Python实现查看系统启动项功能示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现查看系统启动项功能。分享给大家供大家参考,具体如下:

一、代码

# -*- coding:utf-8 -*-
#! python3
from win32api import *
from win32con import *
def GetValues(fullname):
  name =str.split(fullname,'\\',1)
  try:
    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_CURRENT_CONFIG,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(str.ljust(ValueName[0],30),ValueName[1])
    RegCloseKey(key)
  except:
    pass
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\\\RunOnce',\
       'HKEY_CURRENT_USER\\SOFTWARE\\\Microsoft\\\Windows\\\CurrentVersion\\\Run']
  for keyName in keyNames:
    print('\n')
    print(keyName)
    GetValues(keyName)

二、运行结果:

HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
360Safetray                    "D:\Program Files\360\360Safe\safemon\360tray.exe" /start
ApacheTomcatMonitor            "C:\Tomcat 6.0\bin\tomcat6w.exe" //MS//Tomcat6
HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx
HKEY_CURRENT_USER\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce
HKEY_CURRENT_USER\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
360sd                          "D:\Program Files\360\360sd\360sdrun.exe"
ctfmon                         "C:\Windows\system32\ctfmon.exe"
sesvc                          "C:\Users\Administrator\AppData\Roaming\360se6\Application\components\sesvc\sesvc.exe" /b:1 /c:1
QQ2009                         "D:\Program Files\Tencent\QQ\Bin\QQ.exe" /background

注:此处涉及注册表操作,需要有系统管理员权限

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

提升Python效率之使用循环机制代替递归函数

斐波那契数列 当年,典型的递归题目,斐波那契数列还记得吗? def fib(n): if n==1 or n==2: return 1 else: retur...

Python使用cx_Oracle模块操作Oracle数据库详解

本文实例讲述了Python使用cx_Oracle模块操作Oracle数据库。分享给大家供大家参考,具体如下: ORACLE_SID参数,这个参数是操作系统中用到的,它是描述我们要默认连接...

解决Python下imread,imwrite不支持中文的问题

由以下函数代替该功能: def cv_imread(file_path): cv_img=cv2.imdecode(np.fromfile(file_path,dtype=np.u...

Python实现的一个找零钱的小程序代码分享

Python写的一个按面值找零钱的程序,按照我们正常的思维逻辑从大面值到小面值的找零方法,人民币面值有100元,50元,20元,10元,5元,1元,5角,1角,而程序也相应的设置了这些面...

你真的了解Python的random模块吗?

random模块 用于生成伪随机数 源码位置: Lib/random.py(看看就好,千万别随便修改) 真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率...