首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

*关于密码键盘的有关问题

2012-03-30 
*******关于密码键盘的问题现连接了密码键盘,当在大键盘上按下 Ctrl和+的组合键,密码键盘会提示 “请输

*******关于密码键盘的问题
现连接了密码键盘,当在大键盘上按下 "Ctrl"和"+"的组合键,密码键盘会提示 “请输入密码”
问题是我怎么在delphi 里模拟输入 "Ctrl"和"+"的组合键,
也就是说,在Delphi里需要输入密码界面显示的同时,提示“请输入密码”(不再按大键盘上的"Ctrl"和"+"的组合键就提示)

我用以下方法测试,但是不提示!
  keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),0,0);
  keybd_event(VK_ADD,MapVirtualKey(VK_ADD,0),0 ,0 );
  
  keybd_event(VK_ADD,MapVirtualKey(VK_ADD, 0),KEYEVENTF_KEYUP,0);
  keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),KEYEVENTF_KEYUP,0);

请高手帮忙解决

[解决办法]
试试这样行不行?
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
keybd_event(ord('+'), MapVirtualKey(ord('+'), 0), 0, 0);
keybd_event(ord('+'), MapVirtualKey(ord('+'), 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);

因为一个是43,一个是107(小键盘)

[解决办法]
先SetActiveWindow
然后setfocus让edit得到焦点。
最后
keybd_event(VK_CONTROL, (BYTE)0, 0 ,0);
keybd_event(VK_ADD,(BYTE)0, 0 ,0);
keybd_event(VK_ADD, (BYTE)0, KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL, (BYTE)0, KEYEVENTF_KEYUP,0);
你测试下行不行

热点排行