Tag: 键盘布局

我可以更改用户的键盘输入吗?

我找到了这个键盘钩子代码,我试图为我的目的略微修改: http : //blogs.msdn.com/toub/archive/2006/05/03/589423.aspx 作为概述,我想让用户按一个键,说’E’,并让键盘返回一个不同的字符,’Z’,对任何焦点的应用程序。 我改变的相关方法现在看起来像: private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { //The truely typed character: int vkCode = Marshal.ReadInt32(lParam); Console.WriteLine((Keys)vkCode); KBDLLHOOKSTRUCT replacementKey = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(KBDLLHOOKSTRUCT)); replacementKey.vkCode = 90; // char ‘Z’ Marshal.StructureToPtr(replacementKey, lParam, false); //Now changed to my set character vkCode […]

从Windows中提取键盘布局

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