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安装Imaging报错:The _imaging C module is not installed问题解决方法

今天写Python程序上传图片需要用到PIL库,于是到http://www.pythonware.com/products/pil/#pil117下载了一个1.1.7版本的,我用的是Ce...

Python实现简单多线程任务队列

最近我在用梯度下降算法绘制神经网络的数据时,遇到了一些算法性能的问题。梯度下降算法的代码如下(伪代码): def gradient_descent(): # the gradie...

Python hmac模块使用实例解析

这篇文章主要介绍了Python hmac模块使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 hmac模块的作用: 用于验证...

深入解析Python中的集合类型操作符

(1)标准类型操作符(所有的集合类型) 成员关系 (in, not in)         就序列而言,Python...

python线程池threadpool使用篇

最近在做一个视频设备管理的项目,设备包括(摄像机,DVR,NVR等),包括设备信息补全,设备状态推送,设备流地址推送等,如果同时导入的设备数量较多,如果使用单线程进行设备检测,那么由于设...