C# uwp 中的 Win11 启动屏幕截图工作方式不同

问题描述 投票:0回答:1

我已经在我的 C# uwp 应用程序中实现了启动屏幕截图工具,并且它在 Windows 10 操作系统中运行良好。预期的行为是达到我们按下组合 windows + shift + s 的状态。

这是我的命令正文:

bool result = await Launcher.LaunchUriAsync(new Uri("ms- 
screenclip:edit?source=SOURCE"));

 if (result)
 {
     Clipboard.ContentChanged += Screenshot_Succeeded;
 }

在 Windows 11 操作系统中,相同的实现只是启动截图工具,我需要单击新的屏幕截图才能达到相同的状态。

所以主要问题是 screenclip 在 win11 中与 screensketch 一样工作。

是否可以达到与 Windows 10 相同的功能?

c# uwp screenshot
1个回答
0
投票

你能帮我怎样才能获得与win10操作系统相同的功能吗?

解决方法是您可以尝试从代码中注入组合键输入,这样您就可以像 Windows 10 中的旧行为一样直接启动截图功能。

在开始使用 InputInjector Class 之前,我们需要先将 inputInjectionBrokered 受限功能添加到清单文件中。

<Package
   ...
   xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
 IgnorableNamespaces="uap mp rescap">

并在功能选择中

<Capabilities>
  <Capability Name="internetClient" />
  <rescap:Capability Name="inputInjectionBrokered" />
</Capabilities>

然后您可以使用以下代码注入键盘输入来直接启动截图功能。

  private  void Button_Click(object sender, RoutedEventArgs e)
    {
        //press key
        InputInjector inputInjector = InputInjector.TryCreate();

        var shift = new InjectedInputKeyboardInfo();
        shift.VirtualKey = (ushort)(VirtualKey.Shift);
        shift.KeyOptions = InjectedInputKeyOptions.ExtendedKey;


        var win = new InjectedInputKeyboardInfo();
        win.VirtualKey = (ushort)(VirtualKey.LeftWindows);
        win.KeyOptions = InjectedInputKeyOptions.ExtendedKey;


        var skey = new InjectedInputKeyboardInfo();
        skey.VirtualKey = (ushort)(VirtualKey.S);
        skey.KeyOptions = InjectedInputKeyOptions.None;


        inputInjector.InjectKeyboardInput(new[] { shift, win,skey });

        // release shift and win key
        shift.KeyOptions = InjectedInputKeyOptions.KeyUp;
        win.KeyOptions = InjectedInputKeyOptions.KeyUp;
        inputInjector.InjectKeyboardInput(new[] { shift, win });


        //bool result = await Launcher.LaunchUriAsync(new Uri("ms-screenclip: edit ? source = SOURCE"));
    }
© www.soinside.com 2019 - 2024. All rights reserved.