相关疑难解决方法(0)

如何使用WPF和.NET 3.5注册全局热键来说CTRL + SHIFT +(LETTER)?

我正在使用WPF在C#中构建应用程序.如何绑定某些键?

另外,我如何绑定到Windows键

.net c# windows wpf hotkeys

48
推荐指数
4
解决办法
6万
查看次数

解决c#中全局热键处理的最佳方法?

可能重复:
如何使用WPF和.NET 3.5注册全局热键以表示CTRL + SHIFT +(LETTER)?

我希望在我的新应用程序中有多个全局热键(从Windows中的任何位置控制应用程序),我在网络上找到的所有给定的源/解决方案似乎提供了一种跛行的解决方案(或者解决方案)仅适用于一个g.hotkey,或运行时在屏幕上创建令人讨厌的鼠标延迟的解决方案).

这里有没有人知道可以帮助我实现这一目标的资源,我可以从中学到什么?什么?

谢谢 !:)

c# global hotkeys

24
推荐指数
3
解决办法
3万
查看次数

无窗口.NET应用程序中的全局热键

我已经阅读过关于这个问题的类似问题,包括解决C#中全局热键处理的最佳方法?使用C#设置全局热键.我还调查了NuGet包全球热键,它似乎还处于起步阶段.

这里的问题是,它们中的大多数似乎是为Winforms设计的,或者可能在WPF中运行.他们使用的P/Invoke似乎需要一个窗口句柄.我想在这里有一个无风的应用程序,即在没有主窗体或窗口的情况下运行,除非按下某个键组合,所以实际上可能没有句柄.

那么,如果P/Invoke的Window句柄传递一个厚脸皮的0会导致它不寻找处理按键的窗口吗?或者这是我最好的选择,使用一个看不见的不可聚焦的窗口?

为了添加一些上下文,我正在制作一个无窗口的应用程序与TTS一起使用,提供控制反馈,我的目标受众是盲人和视障用户.有时候,必须输入内容,所以我希望能够在必要时启动表单,但是在大多数情况下,我希望没有窗口会让事情变得混乱.

一些示例代码(我无法验证这是否可以正常工作).

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    ScreenReader.sapiEnable(true);
    ScreenReader.SayString("Launching application...");
    // bind hotkeys here
    Application.Run();
}

// called when the right keyboard shortcut is pressed
static void ExitApp()
{
    ScreenReader.SayString("Exiting program");
    Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

感谢您提供的任何帮助.

.net keyboard-shortcuts

2
推荐指数
2
解决办法
1384
查看次数

标签 统计

.net ×2

c# ×2

hotkeys ×2

global ×1

keyboard-shortcuts ×1

windows ×1

wpf ×1