如何保存按键? [英] How to save keystroke?
本文介绍了如何保存按键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好
我尝试以系统中安装的每种语言保存用户按键.我使用了这段代码,但什么也没显示,我进行了很多搜索,但不幸的是我没有找到任何解决方案.
请任何可以告诉我我的问题的人帮帮我.
我将不胜感激.
我的代码如下:
Hi everyone
I try to save user keystroke in each languages which is installed in the system. I use this code but it shows nothing, I searched a lot but unfortunately I didn''t reach to any solution.
Please any one who can tell me what my problem is, help me out.
I''d appreciate any comment.
My code is as below:
string keyBuffer = string.Empty;
Int32[,] Vkey = new Int32[2,150]
void ReadfromKeyboard()
{
const uint MAPVK_VK_TO_VSC_EX = 0x04;
const uint KLF_ACTIVATE = 0x00000001;
for (int i=0; i<120; i++)
{
if( (Methods.GetAsyncKeyState(Vkey[1,i])== 1) || (Methods.GetAsyncKeyState(Vkey[1,i]) == Int16.MinValue))//Vkey is an array which store virtual key code like Vkey[1, 0] = 0x31;
{
uint temp =Methods.MapVirtualKeyEx((Convert.ToUInt32(Vkey[1,i])),MAPVK_VK_TO_VSC_EX,Methods.LoadKeyboardLayout(InputLanguage.CurrentInputLanguage.Culture.KeyboardLayoutId.ToString(),KLF_ACTIVATE));
StringBuilder keyname=new StringBuilder();
int nsize=50;
if (Methods.GetKeyNameText(Convert.ToInt32(temp), keyname, nsize) != 0)
{
keyBuffer += keyname.ToString();
}
}
}
if (keyBuffer != string.Empty)
textBox1.Text=keyBuffer;
}
推荐答案
YourWindowsFormClassName.KeyPreview = true;
这篇关于如何保存按键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文