Можно ли программно отобразить «Просмотр / диалоговое окно истории буфера обмена» в UWP - PullRequest
0 голосов
/ 05 мая 2020

in windows 10 можно отобразить историю буфера обмена, используя ярлык (Windows lo go + V).

Можно ли запустить это представление программно в C# UWP?

1 Ответ

0 голосов
/ 06 мая 2020

Мне нужно показать системное представление «История буфера обмена»

Возможный способ - вы можете ввести виртуальный ввод, используя Класс InputInjector . Создайте объект 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 ограниченных возможностей .

...