中文win98下模拟键盘输入咋不行?(100)(100分)

  • 主题发起人 主题发起人 jay_first
  • 开始时间 开始时间
J

jay_first

Unregistered / Unconfirmed
GUEST, unregistred user!
我在中文win98下写如下命令:<br>keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), 0 , 0 ); &nbsp; &nbsp; // Alt down <br>keybd_event( ord('E'), MapVirtualKey( ord('E'), 0 ), 0 , 0 ); &nbsp; &nbsp; // down E key down <br>keybd_event( ord('K'), MapVirtualKey( ord('K'), 0 ), 0 , 0 ); &nbsp; &nbsp; // down K key down <br>keybd_event( ord('K'), MapVirtualKey( ord('K'), 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;// down K key up <br>keybd_event( ord('E'), MapVirtualKey( ord('E'), 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;// down E key up <br>keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;// Alt key up <br>它应在一激活的窗口ALT+E执行一菜单命令,然后再执行ALT+K打开一小窗口。但结果只是执行菜单命令ALT+E便停止,延时也不行,而在西文win95下则无问题。哪位专家可告诉我为什么? <br>谢谢!
 
keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), 0 , 0 ); &nbsp; &nbsp; // Alt down <br>keybd_event( ord('E'), MapVirtualKey( ord('E'), 0 ), 0 , 0 ); &nbsp; &nbsp; // down E key down <br>keybd_event( ord('K'), MapVirtualKey( ord('K'), 0 ), 0 , 0 ); &nbsp; &nbsp; // down K key down <br><br>keybd_event( ord('E'), MapVirtualKey( ord('E'), 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;// down E key up <br>keybd_event( ord('K'), MapVirtualKey( ord('K'), 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;// down K key up <br>keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;// Alt key up <br>
 
有什么不同?"[red]延时也不行[/red]"
 
你这样试试看,我试过了可以的。<br>keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), 0 , 0 ); &nbsp; &nbsp;<br>keybd_event( ord('E'), MapVirtualKey( ord('E'), 0 ), 0 , 0 ); <br>keybd_event( ord('E'), MapVirtualKey( ord('E'), 0 ), KEYEVENTF_KEYUP , 0 ); <br>keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), KEYEVENTF_KEYUP , 0 ); <br>keybd_event( ord('K'), MapVirtualKey( ord('K'), 0 ), 0 , 0 ); <br>keybd_event( ord('K'), MapVirtualKey( ord('K'), 0 ), KEYEVENTF_KEYUP , 0 ); <br><br>不是win98的问题,<br>你的情况还写得不够明白,<br>具体是什么情况?<br>要确保当前窗口是激活的。
 
多谢。经试验,这确实不是windows版本的原因。是因为机子的原因!两台不同的笔记本,同一模拟指令,在一台上运行完全正确,另一台则只能执行Ctrl+E,而无法连续执行CTRL+K。所有建议都试过,均不成功。从键盘直接完成动作没问题。<br>谁有这样的经验?
 

Similar threads

I
回复
0
查看
771
import
I
I
回复
0
查看
576
import
I
I
回复
0
查看
689
import
I
后退
顶部