草庐IT

键盘休眠

全部标签

c# - 如何以编程方式检查键盘是否已连接?

我正在使用C#winforms开发应用程序。我们的应用程序将安装在win8surface(触摸屏设备)上。我们想检查键盘是否通过USB连接,然后我们的应用程序将不会显示软键盘,否则会显示。有许多方法可用于检查WinRT,但没有一种方法可用于winformsC#。如果我的问题不清楚,请告诉我。提前致谢。 最佳答案 我刚刚写了这篇文章并在W8上进行了测试:ManagementObjectSearchersearcher=newManagementObjectSearcher("SelectNamefromWin32_Keyboard")

windows - 如何确定某个键是否被按下,只知道它在美式键盘上的位置?

考虑一下,对于Windows视频游戏,我需要确定是否按下了在美式英语键盘布局上生成`和~字符的键(通常位于Escape键下方,左键为1)。这听起来像是一个微不足道的问题,但对我来说却不是。当Windows发送键盘消息时,它会指定虚拟键码和OEM扫描码。我们不能依赖OEM扫描码,因为“值取决于OEM”——我们也不能依赖虚拟键码,因为它取决于当前事件的键盘布局。我们目前的“解决方案”是使用LoadKeyboardLayout和MapVirtualKeyEx找到在美式英语键盘布局上生成`字符的键的OEM扫描码,然后只听那个OEM扫描代码。问题是如果用户没有安装美国英语布局,这将不起作用。在W

.net - Windows - 将键盘键映射到与鼠标左键相同的操作

是一种编程方式(或更简单的方式)将某些键盘键映射到与WindowsXP/Vista中的鼠标左键相同的窗口范围内的操作。如果程序化有没有办法在.NET2.0(或更高版本)中执行此操作? 最佳答案 有一种编程方式,可以在C#中使用全局Hook。但我发现像AutoHotkey这样的工具,专为此类事情而设计,启动和运行起来要快得多。脚本也可以编译为可执行文件。 关于.net-Windows-将键盘键映射到与鼠标左键相同的操作,我们在StackOverflow上找到一个类似的问题:

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# - 休眠 + QueryOver : filter with Where ignoring sensitive

我正在尝试使用QueryOver在nHibernate中构建一个简单的查询,但我希望它将所有内容转换为小写或忽略敏感信息:Domain.UserUser=Session.QueryOver().Where(x=>x.Login=="username").SingleOrDefault();我怎样才能做到这一点?更新:有人建议问题可能出在数据库的集合上,但我从来没有遇到过任何问题,这个脚本有效:Domain.UserUser=Session.CreateCriteria().Add(Expression.Eq("Login","username")).UniqueResult();

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