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 unittest单元测试框架的使用

一、测试模型 下面这部分来自于某书籍资料,拿过来,按需参考一下: 测试模型 (1)线性测试 1、概念: 通过录制或编写对应应用程序的操作步骤产生的线性脚本。单纯的来模拟用户完整的...

对Python中for复合语句的使用示例讲解

当Python中用到双重for循环设计的时候我一般会使用循环的嵌套,但是在Python中其实还存在另一种技巧——for复合语句。 简单写一个小程序,用于延时循环嵌套功能如下: #!/...

Python多进程fork()函数详解

进程 进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程。进程是系统进行资源分配和调度的一个独立单位。进程是由代码(堆栈段)、数据(数据段)、内核状态和一组寄...

Python生成数字图片代码分享

本文向大家分享了几段Python生成数字图片的代码,喜欢的朋友可以参考。具体如下: 最终版本 # -*- coding:utf-8 -*- from PIL import Image...

NetworkX之Prim算法(实例讲解)

NetworkX之Prim算法(实例讲解)

引言 Prim算法与Dijkstra的最短路径算法类似,它采用贪心策略。算法开始先把图中权值最小的边添加到树T中,然后不断把权值最小的边E(E的一个端点在T中,另一个在G-T中)。当没有...