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 super用法及原理详解

这篇文章主要介绍了python super用法及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 概念 super作为pyth...

python sort、sorted高级排序技巧

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。 1)排序基础 简单的升序排序是非常容易的。只需要...

对numpy中数组元素的统一赋值实例

Numpy中的数组整体处理赋值操作一直让我有点迷糊,很多时候理解的不深入。今天单独列写相关的知识点,进行总结一下。 先看两个代码片小例子: 例子1: In [2]: arr =np....

Python3实现定时任务的四种方式

最近做一个小程序开发任务,主要负责后台部分开发;根据项目需求,需要实现三个定时任务: 1>定时更新微信token,需要2小时更新一次; 2>商品定时上线; 3>定时检测...

对Python的多进程锁的使用方法详解

很多时候,我们需要在多个进程中同时写一个文件,如果不加锁机制,就会导致写文件错乱 这个时候,我们可以使用multiprocessing.Lock() 我一开始是这样使用的: impo...