大家好!我正在写一个程序,程序的功能是向其他程序发送按键信息这是我的代码:
hwnd = FindWindow(NULL,"无标题 - 记事本");
    if(hwnd!=0){
        char buffer[100] = "";
        GetWindowText(hwnd,buffer,50);
        MoveWindow(hwnd,0,0,500,500,TRUE);
        SendMessage(hwnd,WM_KEYDOWN,VK_NUMPAD0,0);
        SendMessage(hwnd,WM_KEYUP,VK_NUMPAD0,0);
        printf("%d\n%s\n",hwnd,buffer);    }else{
        printf("%d\n",hwnd);
        printf("failure\n");
    }运行之后,记事本移动到左上角了(MoveWindow),但编辑框里还是空白的,没有输入进去字符.
我该怎么做?谢谢大家了!

解决方案 »

  1.   

    向它的Edit子窗口发送消息试试。
      

  2.   

    谢谢你的回答!可不可以给我一个具体的代码?
    我刚学windows api,还不知道怎么得到他的子窗口...
      

  3.   

    用FindWindowEx取得编辑控件的窗口HWND,向它发消息
      

  4.   

    非常感谢!
    通过向他的子窗口发送信息,可以看到记事本里有字符出现了不过不知道为什么用这种同步的SendMessage不能成功,而改成异步的PostMessage却可以做到(立即看到编辑框中有字符出现)?
      

  5.   

    不过不知道为什么用这种同步的SendMessage不能成功,而改成异步的PostMessage却可以做到(立即看到编辑框中有字符出现)?
    ====================
    SendMessage发送的消息要等处理完了之后才会返回,这个可能和记事本程序内部处理方式有关吧