草庐IT

键盘休眠

全部标签

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

c# - 如何在 C# 中使用低级键盘钩子(Hook)来抑制任务切换键(winkey、alt-tab、alt-esc、ctrl-esc)

谁能告诉我如何使用C#禁用任务切换键 最佳答案 我有完整的代码来禁用Windows键,Alt+Tab等等..现在我提供以下代码供其他人引用:/*CodetoDisableWinKey,Alt+Tab,Ctrl+EscStartsHere*///Structurecontaininformationaboutlow-levelkeyboardinputevent[StructLayout(LayoutKind.Sequential)]privatestructKBDLLHOOKSTRUCT{publicKeyskey;publicin

c# - 中断休眠线程

有没有办法中断休眠线程?如果我有类似的代码。while(true){if(DateTime.Now.Subtract(_lastExecuteTime).TotalHours>1){DoWork();_lastExecuteTime=DateTime.Now();continue;}Thread.Sleep(10000)//Sleep10secondsif(somethingIndicatingQuit){break;}}我想每小时执行一次DoWork()。所以,我想多睡10秒。说每10分钟左右检查一次。但是,如果将我的sleep设置为10分钟,并且我想终止这个后台任务,我必须等待sl

c# - 唯一标识罗技统一键盘(在 C# 中)

我在C#2010中编写了一个小程序,它可以通过使用部分以下内容制作一组设备来拆分来自不同键盘的输入:--此代码适用于非统一键盘--InputDeviceid;NumberOfKeyboards=id.EnumerateDevices();id=newInputDevice(Handle);id.KeyPressed+=newInputDevice.DeviceEventHandler(m_KeyPressed);privatevoidm_KeyPressed(objectsender,InputDevice.KeyControlEventArgse){lbDescription.Tex

c# - 当系统处于休眠状态时,Windows 服务中的计时器如何运行?

假设我有一个Windows服务,它有一个设置为每6小时运行一次的计时器,我希望它每天触发4次。假设:0000、0600、12001800。(军用时间,同00:00等...)如果系统在1000进入休眠状态,并在1700唤醒,会发生什么?它会在1900再次触发吗,因为它的计时器还有2小时?它会立即触发(因为它错过了1200的约会),然后在2300再次触发(在当前时间上加上6小时?)我注意到当计算机进入休眠状态时,它不会触发OnPause或OnContinue方法。如果有人能阐明上述情况下系统的行为,那就太好了。干杯,并提前致谢。 最佳答案

c# - 将键盘事件发送到 C# 中不处理 Windows 事件的另一个应用程序

这是我的情况:我们正在编写一个必须将MicrosoftKinect坐标转换为键盘和鼠标事件的应用程序。当我们需要控制鼠标时,在任何类型的应用程序中,一切都按照我们的预期进行。当我们需要将键盘事件(如按下或向上键)发送到不处理Windows事件的应用程序(例如游戏)时,就会出现问题。我们尝试了.net框架的SendKeys类,它只适用于Windows应用程序。当应用程序是像《半条命》或《毁灭战士》这样的游戏时,我们无法获得相同的效果。那么,这是我的问题:我们如何才能有效地将键盘事件发送到这些其他应用程序? 最佳答案 您需要使用Send

c# - 当我的应用程序在后台时监视 C# 中的键盘事件

首先我要声明我对键盘记录没有兴趣。当我的应用程序处于后台时,我需要一种方法来在最基本的级别上监视键盘事件。我不需要知道哪些键,我不需要保存任何数据,我根本不需要或不打算隐藏我的应用程序,我只需要知道什么时候按下键并调用一个方法。我正在寻找最简单的方法来做到这一点,我知道相当多的C#,但没有什么太复杂的,因为我的大部分知识都是自学的。我四处寻找一些合适的方法来做这件事,但没有发现任何有用的方法。我所发现的只是一群人在深度键盘记录器的论坛和源代码上说“不,那是非法的”。如果你们中的任何人能就实现这一目标的方法向我提出建议,我将不胜感激。 最佳答案