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

yipeiwu_com5年前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调用支付宝支付接口流程

python调用支付宝支付接口流程

项目演示: 一、输入金额 二、跳转到支付宝付款 三、支付成功 四、跳转回自己网站 在使用支付宝接口的前期准备: 1、支付宝公钥 2、应用公钥 3、应用私钥 4、APPID 5、D...

python变量赋值方法(可变与不可变)

python变量赋值方法(可变与不可变)

python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。 一、可变对象和不可变对象 Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象...

使用python绘制二元函数图像的实例

废话少说,直接上代码: #coding:utf-8 import numpy as np import matplotlib.pyplot as plt from mpl_toolk...

跟老齐学Python之list和str比较

相同点 都属于序列类型的数据 所谓序列类型的数据,就是说它的每一个元素都可以通过指定一个编号,行话叫做“偏移量”的方式得到,而要想一次得到多个元素,可以使用切片。偏移量从0开始,总元素数...

python 拷贝特定后缀名文件,并保留原始目录结构的实例

如下所示: #!/usr/bin/python # -*- coding: UTF-8 -*- import os import shutil def cp_tree_ext(ex...