如何在Windows 10 2H22中通过编程设置默认应用?
在Windows 10 2H22中编程设置默认应用的实现方案
要直接按「设置>应用>默认应用」的逻辑批量设置类别级默认应用,核心是调用Windows的**Application User Model ID (AUMID)**配合系统COM接口完成操作,以下是基于PowerShell的具体实现思路:
核心原理
Windows的默认应用类别(如音乐播放器、照片查看器)是通过关联应用的AUMID实现的,系统内部使用DefaultAssociationsManager COM接口管理这类关联,我们可以在PowerShell中直接调用该接口完成设置。
步骤1:获取目标应用的AUMID
每个桌面应用都有唯一的AUMID,通过以下PowerShell命令可获取已安装应用的对应ID:
Get-StartApps | Select-Object Name, AppID
示例:VLC的AUMID通常是VideoLAN.VLC,XNViewMP的AUMID一般为PierreGiroux.XNViewMP(具体以实际输出为准)。
步骤2:通过COM接口设置类别默认应用
在PowerShell中调用DefaultAssociationsManager接口完成设置,脚本片段如下:
# 创建DefaultAssociationsManager实例 $dam = New-Object -ComObject Windows.ApplicationModel.DefaultAssociationsManager.DefaultAssociationsManager # 设置默认音乐应用(替换为目标应用的AUMID) $dam.SetDefaultProgram("Music", "VideoLAN.VLC") # 设置默认照片查看器(替换为目标应用的AUMID) $dam.SetDefaultProgram("PictureViewer", "PierreGiroux.XNViewMP")
关键说明
- 类别名称为系统预定义,常用类别包括:
Music(音乐播放器)、PictureViewer(照片查看器)、VideoPlayer(视频播放器)、WebBrowser(浏览器)等。 - 脚本需要以管理员权限运行PowerShell,否则会因权限不足执行失败。
- 设置完成后需重启资源管理器或注销重登,才能让设置完全生效:
Restart-Process explorer
验证设置结果
通过以下命令可确认类别默认应用是否设置成功:
$dam.GetDefaultProgram("Music") $dam.GetDefaultProgram("PictureViewer")
返回结果应为目标应用的AUMID。
内容的提问来源于stack exchange,提问作者wolfrevo
相关产品推荐
相关产品推荐

