首页 > 解决方案 > 是否可以在 UWP 中以编程方式显示“剪贴板历史记录视图/对话框”

问题描述

在 Windows 10 中,可以使用(Windows 徽标 + V)快捷方式显示剪贴板历史记录。

是否可以在 C# UWP 中以编程方式触发此视图?

标签: uwpclipboard

解决方案


我需要显示系统“剪贴板历史”视图

一种可能的方法是您可以使用InputInjector Class注入虚拟输入。创建一个 InputInjector 对象,您可以在代码中注入 Windows 按键和 V 按键,以便您可以触发系统剪贴板视图。

你可以试试下面的代码。我已经对此进行了测试,它在我身边有效。

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

        //press the windows key
        var info = new InjectedInputKeyboardInfo();
        info.VirtualKey = (ushort)VirtualKey.LeftWindows;
        inputInjector.InjectKeyboardInput(new[] { info });


        //Press the v key
        var info2 = new InjectedInputKeyboardInfo();
        info2.VirtualKey = (ushort)VirtualKey.V;
        inputInjector.InjectKeyboardInput(new[] { info2 });



        //release the  Windows key
        info.KeyOptions = InjectedInputKeyOptions.KeyUp;
        inputInjector.InjectKeyboardInput(new[] { info });


        // release the V key
        info2.KeyOptions = InjectedInputKeyOptions.KeyUp;
        inputInjector.InjectKeyboardInput(new[] { info });

    }

需要记住的一件事是使用 InputInjector 类需要inputInjectionBrokered 受限的能力


推荐阅读