Tag: 热键

C#/ WPF热键上没有聚焦的forms(如launchy)

是否可以从未聚焦的表单中捕获热键(例如Ctrl + Space ),以便在有人使用此特定热键时显示该热键; 而无需在注册表上注册此热键。 在“Launchy”应用程序中可以注意到类似的事件。 谢谢 语言:C#(WPF)//操作系统:Windows

RegisterHotKey无法使用隐形表单(c#)

我试图在系统托盘中放置一个图标,然后给它一个全局键盘快捷键来执行一个function。 我正在使用RegisterHotKey设置全局键盘快捷键,如果与该图标关联的主窗体可见,则它可以正常工作。 但是如果表单是不可见的,那么永远不会调用WndProc方法。 有任何想法吗? 编辑:我的意思是“隐藏”是将以下内容添加到主窗体: protected override void OnLoad(EventArgs e) { hotKey = new GlobalHotkey(GlobalHotkey.WIN, Keys.T, this); bool registered = hotKey.Register(); Visible = false; ShowInTaskbar = false; base.OnLoad(e); } “registered”显示为“true”,如果我忽略“Visible = false”,快捷键工作正常 和“ShowInTaskbar = false;”。

C#:如何捕获全局鼠标/ HID事件

我希望编写一个小工具,当用户按下Windows按钮并向上或向下滚动鼠标滚轮时,它将捕获全局事件。 当捕获到这样的事件时,我希望将所述输出重定向到Win- +或Win–(加/减)的虚拟击键组合。 可以这样做吗? 如果保留了Windows键,则可以使用ctrl-alt等。

在WPF中制作“全局”热键

我正在编写一个由主窗口中的三个用户控件组成的应用程序。 在其中一个用户控件中,有一个滑块需要通过键盘输入来控制。 左箭头应减小值,右键增加,依此类推。 我有这个工作,但只有当滑块有焦点时。 如果其他一些控件具有焦点,我根本无法使其工作。 是否可以定义“全局”热键? 触发相同事件或function的IE键,无论焦点在哪里? 希望我已经让自己清楚了……

WPF中的全局热键?

我已经构建了一个WPF应用程序,并希望添加全局热键支持。 我希望能够在Windows中的任何位置执行我的应用程序中的方法,即使我的应用程序被最小化或在托盘中运行。 例如,使用ctrl + alt + t执行方法。 在WPF中这是可能的,如果是这样,怎么样?

如何禁用user32.dll中的系统热键?

如果它是相关的,我用C#编码。 我正在尝试为自助服务终端应用程序禁用系统热键。 此处使用的代码来自: https : //www.codeproject.com/kb/cs/kiosk_cs.aspx?display = print 此个人: 如何在单击鼠标左键时禁用按住Alt键,按住Control键和Shift键,似乎已成功使用此方法在Windows上禁用Alt + F4 。 但是她没有明确指出她使用的Windows版本,而不是说其中一个命令在W8中不起作用。 那些不懂代码的人教程: https : //www.youtube.com/watch?v = qQWqGOaZiFI 我尝试过这个。 RegisterHotKey(this.Handle, int 1, (int)USE_ALT, (int)Keys.F4); ^但仍然失败。 Marshal.GetLastWin32Error().ToString() 当^运行时,它返回错误代码“1400” 。 枚举错误: https ://msdn.microsoft.com/en-us/library/windows/desktop/ms681385( v = vs.85).aspx。 这表明这是“窗口句柄无效”的结果。 。 我不知道为什么这是因为“Alt + F4”关闭当前所选窗口。 我很确定FindWindow(string cls, string wndwText)返回的是什么。 我添加了“SetLastError = true” : [DllImport(“user32.dll”, SetLastError = true)] private static […]

ProcessCmdKey – 等待KeyUp?

我在WinForms应用程序中遇到以下问题。 我正在尝试实现热键,我需要在控件处于活动状态时处理Key消息,无论焦点是否在该控件内的文本框上,等等。 重写ProcessCmdKey可以很好地为此工作,并且完全符合我的要求,但有一个例外: 如果用户按下某个键并按住它,ProcessCmdKey将继续触发WM_KEYDOWN事件。 但是,我想要实现的是用户必须在另一个热键动作触发之前再次释放按钮(因此,如果有人坐在键盘上,它不会导致连续的热键事件)。 但是,我找不到捕获WM_KEYUP事件的位置,所以我可以设置一个标志,如果它应该再次处理ProcessCmdKey消息? 有人可以帮到这里吗? 谢谢, 汤姆

复制和修改不同应用程序中的选定文本

我有一个在后端运行的Windows应用程序。 我将此应用程序中的函数映射到热键。 就像我将一个消息框放入此function并将热键设为Alt + Ctrl + D. 然后按下Alt , Ctrl和D一起出现消息框。 我的申请工作正常,直到这一点。 现在我想在这个函数中编写一个代码,这样当我使用另一个像记事本这样的应用程序时,我选择一个特定的文本行并按热键Alt + Ctrl + D它应该复制所选文本附加它“ _copied“并将其粘贴回记事本。 任何尝试过类似申请的人都可以帮助我提供宝贵的意见。

WPF中的全局热键在每个窗口中工作

我必须使用热键,它将在每个窗口和讲坛上工作。 在winforms我用过: RegisterHotKey(this.Handle, 9000, 0x0002, (int)Keys.F10); 和 UnregisterHotKey(this.Handle, 9000); 和 protected override void WndProc(ref Message m) { base.WndProc(ref m); switch (m.Msg) { case 0x312: switch (m.WParam.ToInt32()) { case 9000: //function to do break; } break; } } 在我的WPF应用程序中,我试过: AddHandler(Keyboard.KeyDownEvent, (KeyEventHandler)HandleKeyDownEvent); 和 private void HandleKeyDownEvent(object sender, KeyEventArgs e) { if (e.Key == Key.F11 && (Keyboard.Modifiers & […]