You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动原生Windows应用遇权限拒绝:ScreenSketch.exe无法访问WindowsApps目录

解决访问C:\Program Files\WindowsApps权限拒绝并启动ScreenSketch.exe的问题

你碰到的这个权限问题其实是系统的安全设计导致的——C:\Program Files\WindowsApps是UWP应用的专属安装目录,哪怕你用管理员权限运行程序,也没法直接遍历或访问里面的文件,所以用Directory.GetFiles去搜ScreenSketch.exe这条路根本走不通。

给你两个靠谱的替代方案,完全不用碰这个受保护的目录:

方案一:用URI协议一键启动

ScreenSketch支持系统内置的URI协议,直接调用就能启动,代码超简单:

System.Diagnostics.Process.Start("ms-screenclip:");

这个方法完全绕开了权限问题,系统会自动帮你定位并启动ScreenSketch,不用管它装在哪个角落。

方案二:通过Windows Runtime API启动(适合桌面应用)

如果你的项目是WPF或者WinForms这类桌面应用,可以借助Windows Runtime的API来启动指定UWP应用。ScreenSketch的官方应用ID是Microsoft.ScreenSketch_8wekyb3d8bbwe!App,你也可以用对应的URI来启动:

using Windows.System;

// 先给项目添加Windows引用:右键项目 -> 添加 -> 引用 -> 勾选Windows SDK相关组件
await Launcher.LaunchUriAsync(new Uri("ms-screenclip:"));

这个方法同样是通过系统原生机制启动应用,安全又稳定。

千万别做的事:修改WindowsApps权限

虽然网上能搜到修改C:\Program Files\WindowsApps权限的教程,但真的别这么干:

  • 这会破坏系统的安全防护,搞不好会导致UWP应用崩溃、系统更新失败
  • ScreenSketch的安装路径会跟着系统版本更新变化,就算你现在找到了路径,下次更新后可能就用不了了

所以优先用前两种方案,省心又靠谱。

内容的提问来源于stack exchange,提问作者jssmttibr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:37:20