欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-05 15:27:10
如下所示: #!/usr/bin/python #-*-coding:utf-8-*- import _winreg as wr #导入内置的windows注...

如下所示:

#!/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自启动列表的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。