大家好!我正在写一个程序,程序的功能是向其他程序发送按键信息这是我的代码:
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),但编辑框里还是空白的,没有输入进去字符.
我该怎么做?谢谢大家了!
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),但编辑框里还是空白的,没有输入进去字符.
我该怎么做?谢谢大家了!
我刚学windows api,还不知道怎么得到他的子窗口...
通过向他的子窗口发送信息,可以看到记事本里有字符出现了不过不知道为什么用这种同步的SendMessage不能成功,而改成异步的PostMessage却可以做到(立即看到编辑框中有字符出现)?
====================
SendMessage发送的消息要等处理完了之后才会返回,这个可能和记事本程序内部处理方式有关吧