python得到windows自启动列表的方法

yipeiwu_com6年前Python基础

如下所示:

#!/usr/bin/python
#-*-coding:utf-8-*-
import _winreg as wr #导入内置的windows注册表操作库
import   os
from  socket import *
import getpass
def   GetStart():
    key = r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
    aRegL = wr.ConnectRegistry(None,wr.HKEY_LOCAL_MACHINE)
    aRegC = wr.ConnectRegistry(None,wr.HKEY_CURRENT_USER)#getpass.getuser()为得到当前的用户名
    startdir = os.listdir(r'C:\Users'+ os.sep + getpass.getuser() + r'\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup')
    startExe = {'localmachine':[],'currentuser':[]}
    startExe['startdir'] = startdir
    try:
      aKeyL = wr.OpenKey(aRegL,key)#打开键,返回句柄
      aKeyC = wr.OpenKey(aRegC,key)
      for i in range(1024):
        try:
          startExe['localmachine'].append( wr.EnumValue(aKeyL,i))
        except:
          break #异常就是终点,退出循环
      for i in range(1024):
        try:
          startExe['currentuser'].append( wr.EnumValue(aKeyC,i))
        except:
          break
    finally:
      wr.CloseKey(aKeyL)
      wr.CloseKey(aKeyC)
    return startExe
def   main():
    import sys
    reload(sys)
    sys.setdefaultencoding( "utf-8" )
    start = GetStart() #这个函数返回一个字典
    print 'LocalMachine'.center(50,'*')
    for i in start['localmachine']:#迭代字典中的数据
      print i
    print 'CurrentUser'.center(50,'*')
    for i in start['currentuser']:
      print i
    print 'StartUp dir'.center(50,'*')
    for i in start['startdir']:
      print i
if   __name__== "__main__":
    main()

以上这篇python得到windows自启动列表的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python类定义的讲解

一、类定义:复制代码 代码如下:class <类名>: <语句>类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。如果直接使用...

python系列 文件操作的代码

python系列 文件操作的代码

核心代码 import numpy as np import os,sys #获取当前文件夹,并根据文件名 def path(fileName): p=sys.path[0]+'...

详解Python的Django框架中的通用视图

详解Python的Django框架中的通用视图

通用视图 1. 前言 回想一下,在Django中view层起到的作用是相当于controller的角色,在view中实施的 动作,一般是取得请求参数,再从model中得到数据,再通过数据...

深入理解Python中的*重复运算符

在python中有个特殊的符号“*”,可以用做数值运算的乘法算子,也是用作对象的重复算子,但在作为重复算子使用时一定要注意 注意的是:*重复出来的各对象具有同一个id,也就是指向在内存...

Python实现的多线程同步与互斥锁功能示例

Python实现的多线程同步与互斥锁功能示例

本文实例讲述了Python实现的多线程同步与互斥锁功能。分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 import th...