能否在UWP中程序化地显示 "剪贴板历史记录视图对话框"?

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

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

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

uwp clipboard
1个回答
0
投票

我需要显示系统的 "剪贴板历史 "视图。

一个可能的方法是,你可以使用以下方法注入虚拟输入 输入喷射器类. 创建一个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 残次品.

© www.soinside.com 2019 - 2024. All rights reserved.