草庐IT

5键键盘

全部标签

windows - 如何确定另一个进程(Windows)的键盘布局?

我正在开发一个需要记录和回放击键的程序。主进程作为服务运行,因此需要一个配置程序来记录击键。当系统默认键盘布局是(比如)英语,而用户当前的键盘布局是(比如)德语时,问题就来了。用户在配置界面输入一个“ü”字符,并被及时记录和存储。现在用户运行记事本并尝试回放击键,这是由服务的子项完成的。当转换输入以传递给SendInput时,我们调用VkKeyScan,然后它告诉我们无法在此键盘上重现该字符(请记住默认键盘布局是英语)。我真正想做的是同步服务和当前前台应用程序的键盘布局,这样服务就可以重现用户可以使用键盘输入的任何字符。GetKeyboardLayout只对当前进程起作用。这必须同时在

c++ - 使用 c 或 c++ 运行 c 的控制台时禁用键盘键

我想在我的程序运行时禁用键盘,这意味着没有人可以使用alt+F4等。我如何才能在窗口操作系统中使用c。 最佳答案 处理WM_SYSKEYUP,WM_SYSKEYDOWN并返回0这是处理这些消息的WndProcLRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){intwmId,wmEvent;PAINTSTRUCTps;HDChdc;switch(message){caseWM_COMMAND:wmId=LOWORD(wParam);wmEven

c# - Visual Studio 2015 奇怪的键盘快捷键

我刚从2013年转到VS2015。回到2013年,我使用Alt+Shift+(来输入{字符.在VS2015中,相同的命令会切换滚动条的错误显示,并且不会让我键入左花括号。我试图在Tools->Options->Environment->Keyboard中找到这个糟糕的快捷方式,但没有成功。有人知道如何删除它或用我想要的快捷方式覆盖它吗?编辑:我正在使用Resharper9.2Ultimate,它的键盘方案:ReSharper2.x或IntelliJIDEA超过VisualStudios默认方案。我已经尝试过这两种方案,但似乎都没有解决这个问题。所以这不应该是问题的原因,除非我遗漏了一些

c# - 检测屏幕键盘是否打开(TabTip.exe)

我正在开发用于完成表单的WPF/C#应用程序。我正在尝试找到一种方法来确定TapTip键盘(TabTip.exe/类似metro的windows8桌面键盘)在windows8中是否最小化/不可见。我已经能够检测到osk键盘(osk.exe/windows辅助功能屏幕键盘)是否被最小化,但同样的过程似乎不适用于TabTip键盘。检测键盘是否最小化I:1.找到键盘进程2.获取主窗口句柄3.使用WINDOWPLACEMENT的showCmd属性(使用MainWindowHandle找到)4.使用showCmd值判断窗口是否最小化我遇到的问题是:-TabTip进程的MainWindowHand

c# - 在通用 Windows 应用程序中获取键盘状态

我想检测Windows应用程序中的组合键(例如Control-A)。KeyDown事件处理程序包含有关最后按下的键的信息。但是我如何才能知道是否也按下了Control键呢? 最佳答案 您可以使用CoreVirtualKeyStates.HasFlag(CoreVirtualKeyStates.Down)来确定是否按下了Ctrl键,就像这样-Window.Current.CoreWindow.KeyDown+=(s,e)=>{varctrl=Window.Current.CoreWindow.GetKeyState(VirtualKe

c# - WPF 窗口大小不受 TabTip 键盘影响

我有一个在Windows8.1平板电脑上运行的WPF应用程序。应用程序使用以下方法显示虚拟键盘:publicstaticvoidOpenKeyboard(){ProcessStartInfostartInfo=newProcessStartInfo(@"C:\ProgramFiles\CommonFiles\MicrosoftShared\ink\TabTip.exe"){WindowStyle=ProcessWindowStyle.Hidden};Process.Start(startInfo);}但是,键盘显示在其上的事件窗口的大小不会相应地改变,这意味着如果我有一个ScrollV

c# - 从窗口中提取键盘布局

好吧,这是一个有点奇怪的问题。我们有一个触摸屏应用程序(即没有键盘)。当用户需要输入文本时,应用程序会显示虚拟键盘-在WinForms中手工构建。为每种新语言手工制作这些东西是猴子的工作。我认为Windows必须将此键盘布局信息隐藏在某些dll中的某处。无论如何都可以从Windows中获取这些信息吗?欢迎提出其他想法(我认为至少从xml文件生成东西必须比在VS中手动生成更好)。(注意:说了这么多,我注意到有日文键盘、状态机和所有...,所以XML可能不够用)更新:关于这个主题的非常好的系列(我相信)here 最佳答案 Microso

c# - 如何拦截所有键盘事件并防止在 WinForms 应用程序中失去焦点?

我的一个friend是盲人,我想开发一个程序,让他在盲打法和听觉反馈的帮助下使用PC。如果我的应用程序一启动就可以强制完全控制整个键盘输入,那么体验会更加丰富(针对特定功能使用更多键)和完美无瑕(比如防止偶尔失去焦点)(我会把它放在在为他启动)。我是一名WinFormsC#.NET开发人员,所以我想在使用这个特定框架和语言的应用程序中实现它(尽管不要介意包装的WinAPI调用)。PS:我不介意系统控制Ctrl+Alt+Del组合,但我想控制所有其他键和组合,包括WindowsLogo和标准应用程序启动器按钮。 最佳答案 您可以使用低

c# - 使用 USB 条码扫描仪读取条码并忽略键盘数据输入,而扫描仪产品 ID 和供应商 ID 未知

有没有办法在忽略键盘并且不知道USB扫描仪的PID或VID的情况下从USB条形码阅读器读取?我知道有一种方法可以通过使用USB扫描仪的VID和/或PID来区分USB扫描仪输入和键盘输入;这是使用http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/中的代码完成的但是是否有另一种解决方案来区分键盘和USB扫描仪,而无需将扫描仪的VID或PID放入配置文件(或源代码)中?不想将各种VID或PID放在配置文件中的原因是,正在开发的应用程序

c# 将键盘命令发送到另一个窗口/进程

我正在尝试编写一个程序,它将获取一行数据并将其传递到另一个窗口/进程。这是我目前的代码,但我无法弄清楚如何将键盘命令发送到OUTLOOK进程。我希望能够使用Tab命令/键和Enter命令/键。这是我目前的尝试usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.IO;usingSystem.Threading;usingSystem.Runtime.InteropServices;usingSystem.Diagnostics;usingSystem.Windo