当前位置: 首页 > news >正文

教育机构网站源码怎么做一张图片的网站

教育机构网站源码,怎么做一张图片的网站,重庆网站排名优化公司,有个网站专做品牌 而且价格便宜一个项目中需要获取本机安装的所有应用程序列表,花了一点时间研究了一下,分享出来。 主要通过访问注册表和桌面快捷方式来完成这一任务,因为注册表中获取到的应用程序列表不完全,因此通过桌面快捷方式进行补充。 导入所需模块 im…

一个项目中需要获取本机安装的所有应用程序列表,花了一点时间研究了一下,分享出来。
主要通过访问注册表和桌面快捷方式来完成这一任务,因为注册表中获取到的应用程序列表不完全,因此通过桌面快捷方式进行补充。

导入所需模块
import winreg
import win32com.client
from pathlib import Path
  • winreg:用于访问Windows注册表。
  • win32com.client:用于处理Windows快捷方式。
  • Path:用于处理文件和目录路径。
通过注册表获取安装的应用程序
def get_installed_apps_from_registry():"""通过注册表查询安装的应用"""apps = {}try:# 定义要查询的注册表路径reg_paths = [r"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",r"SOFTWARE\\WOW6432NODE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"]# 遍历所有注册表路径for reg_path in reg_paths:with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, reg_path) as key:for i in range(winreg.QueryInfoKey(key)[0]):sub_key_name = winreg.EnumKey(key, i)with winreg.OpenKey(key, sub_key_name) as sub_key:try:app_name = winreg.QueryValueEx(sub_key, "DisplayName")[0]# 排除驱动程序if "驱动程序" in app_name:continueapp_path = winreg.QueryValueEx(sub_key, "DisplayIcon")[0]# 对 exe 路径进行过滤和清洗if "exe" in app_path:app_path = app_path.replace('"', '')# 有一些 exe 文件的路径是以逗号分隔的,只取第一个app_path = app_path.split(",")[0]apps[app_name] = {"path": app_path}except FileNotFoundError:passexcept Exception as e:print(f"Error: {e}")return apps

此函数执行以下操作:

  1. 定义注册表中存储已安装应用程序信息的路径。
  2. 遍历这些路径,并获取每个应用程序的名称和可执行文件路径。
  3. 过滤掉包含“驱动程序”的应用名称,清洗路径信息,构建应用程序字典。
获取桌面上的快捷方式
def get_shortcuts_on_desktop():"""查询桌面上安装的应用程序快捷方式"""desktop_path = Path.home() / "Desktop"shortcuts = {}for item in desktop_path.iterdir():if item.suffix == ".lnk":shortcut_name = item.stemshortcuts[shortcut_name] = {"path": item}return shortcuts

此函数执行以下操作:

  1. 获取桌面目录路径。
  2. 遍历桌面上的所有文件,筛选出扩展名为.lnk(快捷方式)的文件,并保存其路径和名称。
根据快捷方式获取目标路径
def get_target_path_by_shortcut(shortcut_path):"""根据快捷方式获取应用程序的可执行文件(exe)路径:param shortcut_path: 快捷方式路径:return: 可执行文件(exe)路径"""shell = win32com.client.Dispatch("WScript.Shell")shortcut = shell.CreateShortcut(shortcut_path)target_path = shortcut.TargetPathreturn target_path

此函数执行以下操作:

  1. 使用win32com.client模块来解析快捷方式。
  2. 获取快捷方式所指向的目标路径,即应用程序的可执行文件路径。
合并注册表和桌面快捷方式的信息
def get_installed_apps_dict():"""获取本机安装的所有应用程序:return: 安装的应用程序字典"""installed_apps = get_installed_apps_from_registry()desktop_shortcuts = get_shortcuts_on_desktop()merged_apps = {}# 合并安装的应用程序和桌面快捷方式for app_name, app_info in installed_apps.items():merged_apps[app_name] = {"path": app_info["path"]}# 添加在桌面快捷方式中存在但未在安装应用程序中列出的软件for app_name, shortcut_info in desktop_shortcuts.items():if app_name not in installed_apps:shortcut_path = str(shortcut_info["path"])merged_apps[app_name] = {"path": get_target_path_by_shortcut(shortcut_path)}return merged_apps

此函数执行以下操作:

  1. 获取注册表中安装的应用程序和桌面上的快捷方式。
  2. 合并这两部分信息,确保所有应用程序都包含在结果中。
  3. 如果一个应用程序在桌面快捷方式中存在但未在注册表中列出,则从快捷方式获取其路径。
主程序入口
if __name__ == '__main__':app_list = get_installed_apps_dict()for name, info in app_list.items():print(f"App Name: {name}")print(f"Executable Path: {info['path']}")print()print(f"Total Apps: {len(app_list)}")

主程序入口执行以下操作:

  1. 获取所有安装的应用程序列表。
  2. 打印每个应用程序的名称和路径。
  3. 输出总的应用程序数量。

通过这些步骤,该脚本能够有效地获取并列出Windows系统中安装的所有应用程序。

http://www.yayakq.cn/news/245734/

相关文章:

  • asp.net创建项目和创建网站的区别服装商店的网站建设要求
  • 西安网站制作排名phpstudy
  • wordpress 站点群做网站需要留什么条件
  • php网站超市源码北京华诚传媒有限公司官方网站
  • 网络网站wordpress 读取副标题
  • 手机网站制作服务做阿里巴巴网站找谁
  • 珠海市品牌网站建设公司注册公司注册地址怎么弄
  • 信誉好的福州网站建设建e室内设计网直播
  • 加强网站信息怎么做贸易公司logo设计
  • 城乡住房和城乡建设网站查询中信建设有限责任公司
  • 网站 png北京上地做网站
  • 河北网站推广优化hao123设为主页官网下载
  • 自己购买域名做网站南通经济开发区城乡建设局网站
  • 阿里云服务器网站建设涉密网络运行维护服务外包的单位
  • 高密住房和城乡建设局网站许昌seo公司
  • 网站维护运营主要是做什么的seo提权软件
  • 专业的网站建设企业网站网站开发工程师累不累
  • 推荐扬中网站建设广州搜索排名优化
  • 网站建设龙华怎么建购物网站
  • 齐齐哈尔铁峰建设局网站南昌优秀网站建设
  • 有什么建设网站的书籍wordpress 图片墙插件
  • 泰州网站制作企业网上交易网
  • 网站建设公司诺玺网络wordpress 移动插件
  • 住房和城乡建设部干部学院网站郑州好的网站设计公司
  • 学校网站怎么做的好网站建设的流程范文1500字
  • 网站建设从零开始教程网络拓扑
  • 荆州哪里有做网站的百度账号快速登录
  • 旅游网站开发内容深圳市宝安区区长
  • 北京撒网站设计互联网行业和制造业项目商业计划书的不同侧重点
  • 华艺网站建设网站开发网上宠物店管理系统