可以确定找对了窗体的handle,可是为什么如下代码发送组合键会没有反应呢?

可以确定找对了窗体的handle,可是为什么如下代码发送组合键会没有反应呢? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061022023426215.html
SENDMessage(tmph,WM_SYSKEYDOWN,VK_control,0);  
   
      SENDMessage(tmph,WM_SYSKEYDOWN,ord('A'),0);  
   
      Sleep(800);  
   
      SENDMessage(tmph,WM_SYSKEYUP,ORD('A'),0);  
   
      SENDMessage(tmph,WM_SYSKEYUP,VK_CONTROL,0);  
   
  手工在窗体上按ctrl+a是有反应,可是为什么用这个组合键不行呢?

关注

需先将输入焦点放在窗体上:  
   
  keybd_event(VK_CONTROL,   MapVirtualKey(VK_CONTROL,   0),   0,   0);  
  keybd_event(Ord('A'),   MapVirtualKey(Ord('A'),   0),   0,   0);  
  keybd_event(Ord('A'),   MapVirtualKey(Ord('A'),   0),   KEYEVENTF_KEYUP,   0);  
  keybd_event(VK_CONTROL,   MapVirtualKey(VK_CONTROL,   0),   KEYEVENTF_KEYUP,   0)  
   
 

楼上的老师:  
  上述可以向外部程序发送组合键吗?

.....   可以,先动手再动口  
  用一个Timer来测试

谢谢了,楼上的老师!我一直在用button_click测试,所以没成功!没想到用timer!谢谢你!只不过我不是楼主,所以没法给您加分......你到http://community.csdn.net/Expert/topic/5120/5120704.xml?temp=.9539606这个贴子光顾一下,有分相赠!  
 

posted on 2008-12-19 09:58  delphi2007  阅读(140)  评论(0编辑  收藏  举报