Python获取Windows自启动列表的完整实现

温以宁
温以宁
发布时间:2026-10-13| 5人浏览过
原创

本文介绍如何使用Python获取Windows系统的自启动程序列表。通过调用内置的winreg模块读取注册表中的HKLM和HKCU路径,并结合os模块遍历当前用户的启动文件夹,最终整合输出本地机器与当前用户维度的自启动项详情。

具体实现代码如下所示:

#!/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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。