例如,假设我想切换Ctrl+C和Ctrl+V,这样Ctrl+C将粘贴,Ctrl+V将复制。我需要首先覆盖Ctrl+C复制,然后让Ctrl+C粘贴。除了需要覆盖粘贴并使其复制之外,我还必须使用Ctrl + V执行相同的操作。
我该怎么做呢?在使用C#的UWP应用程序中,这是可能的吗?每当我查找“在c#中重新映射键盘快捷键”之类的内容时,它都会显示在Visual Studio中重新映射键盘快捷键的结果,而不是我的应用程序中的结果。
发布于 2020-06-01 14:10:51
>如何在UWP C#应用中重新映射键盘快捷键?
这有点复杂,但你可以在你的应用程序中完成。您需要首先处理键盘输入事件- CoreWindow.KeyDown Event。在输入事件中,检查是否按下了控制键,以及是否按下了C键。当它们都被按下时,您可以在事件处理程序中执行自己的逻辑。
下面是关于如何处理keydown事件的示例代码。
Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
private void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
{
var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
if (ctrl.HasFlag(CoreVirtualKeyStates.Down) && args.VirtualKey == VirtualKey.V)
{
//clean the data in the clipboard.
Windows.ApplicationModel.DataTransfer.Clipboard.Clear();
// do your stuff
Debug.WriteLine("Ctr+V");
return;
} else if(ctrl.HasFlag(CoreVirtualKeyStates.Down) && args.VirtualKey == VirtualKey.C)
{
//clean the data in the clipboard.
Windows.ApplicationModel.DataTransfer.Clipboard.Clear();
// do your stuff
Debug.WriteLine("Ctr+C");
return;
}
}https://stackoverflow.com/questions/62104726
复制相似问题