首页
/ ContextMenuForWindows11项目:添加微软商店应用至右键菜单的技术方案

ContextMenuForWindows11项目:添加微软商店应用至右键菜单的技术方案

2025-07-03 02:35:07作者:谭伦延

背景介绍

在Windows 11系统中,微软商店应用通常不会像传统桌面应用那样直接出现在右键菜单的"打开方式"选项中。ContextMenuForWindows11作为一个增强右键菜单功能的开源项目,为用户提供了自定义右键菜单的能力。本文将探讨如何将微软商店应用(如XODO PDF阅读器)添加到右键菜单中的技术实现方案。

技术挑战

微软商店应用与传统桌面应用在启动机制上存在显著差异:

  1. 商店应用通常不提供可直接执行的文件路径
  2. 应用更新会导致安装目录变化
  3. 部分应用不支持通过传统命令行方式启动

解决方案探索

方案一:应用别名方式

Windows系统为部分商店应用提供了执行别名(Execution Aliases),可通过以下路径查看: Windows设置 → 应用 → 高级 → 执行别名

例如,对于Windows Terminal应用,可以直接使用wt.exe命令启动。但经测试,XODO PDF阅读器并未提供此类别名。

方案二:AppsFolder协议方式

Windows提供了特殊的shell:AppsFolder协议来启动商店应用,基本语法为:

shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID>

以Windows Terminal为例:

start "" shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App new-tab -p "cmd"

但测试发现,此方式对XODO应用无效,无法传递文件路径参数。

方案三:自定义URL协议方式

研究发现XODO支持通过自定义URL协议启动:

xododocs://open?file="文件路径"

在ContextMenuForWindows11中的配置方法:

  1. 可执行文件:explorer.exe
  2. 参数:xododocs://open?file="{path}"

注意事项

  1. 此方案要求XODO必须设置为默认PDF阅读器才能正常工作
  2. 路径参数需要使用英文双引号包裹
  3. 对于其他商店应用,需要先确认其支持的启动协议

总结

通过探索多种技术方案,我们找到了在ContextMenuForWindows11项目中添加微软商店应用到右键菜单的可行方法。虽然不同应用可能需要不同的启动方式,但URL协议方案为这类需求提供了通用解决思路。开发者可根据具体应用特性选择最适合的集成方案。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
24
7
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
309
2.71 K
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
361
2.88 K
flutter_flutterflutter_flutter
暂无简介
Dart
599
133
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.07 K
616
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
636
233
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
774
74
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
cangjie_toolscangjie_tools
仓颉编程语言命令行工具,包括仓颉包管理工具、仓颉格式化工具、仓颉多语言桥接工具及仓颉语言服务。
C++
55
816
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.03 K
464