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是有反应,可是为什么用这个组合键不行呢?

解决方案 »

  1.   

    需先将输入焦点放在窗体上: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)
      

  2.   

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

  3.   

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