救赎但不重生 发表于 2015-6-2 21:08:21

关于WM_CHAR和WM_KEYDOWN

我创建了一个按钮
然后查找到一个窗口的句柄hWndRve
然后向该窗口发送按键
case WM_COMMAND:               
                if(hWndRve!=0)
                {
                        MessageBox(hwnd,"找到窗口句柄","提示",MB_OK);
                        SendMessage(hWndRve,WM_KEYDOWN,49,0);                                  //按下Q键
                        SendMessage(hWndRve,WM_KEYUP,49,0);                                       //释放Q键
                }
                else
                {
                        MessageBox(hwnd,"没有找到窗口句柄","提示",MB_OK);
                }
                break;

hWndRve为什么没对Q按键做出反应反应{:9_218:}

但是我用WM_CHAR代替WM_KEYDOWN和WM_KEYUP,并在选中文本输入框的情况下可以在该文本输入框输入字符q


新手不是很会,求指教{:9_228:}

小人 发表于 2015-6-2 21:27:05

你应该获得edit 的句柄
可以使用GetWindow( m_LocalWnd, GW_CHILD), GW_HWNDNEXT 来枚举
GetClassName 来判断那个子控件的类名称是 Edit,就找到那个编辑框窗口里。
{:9_240:}

救赎但不重生 发表于 2015-6-2 21:35:46

小人 发表于 2015-6-2 21:27
你应该获得edit 的句柄
可以使用GetWindow( m_LocalWnd, GW_CHILD), GW_HWNDNEXT 来枚举
GetClassName...

用SPY++可不可以找到那个子控件

小人 发表于 2015-6-2 21:39:19

救赎但不重生 发表于 2015-6-2 21:35
用SPY++可不可以找到那个子控件

可以{:9_240:}

救赎但不重生 发表于 2015-6-2 22:14:05

小人 发表于 2015-6-2 21:39
可以

可是我找的那个窗口他没有子控件,咋办{:9_229:}

小人 发表于 2015-6-3 09:26:32

救赎但不重生 发表于 2015-6-2 22:14
可是我找的那个窗口他没有子控件,咋办

edit 不就控件么{:9_240:}

救赎但不重生 发表于 2015-6-3 19:50:45

小人 发表于 2015-6-3 09:26
edit 不就控件么
我用SPY++找,可是主窗口句柄前面没有+号,就一个独立的主窗口句柄。是不是窗口加壳了,还是窗口是画上去的什么的{:9_240:}

Loading.... 发表于 2015-6-14 09:50:21

手不是很会,求指
页: [1]
查看完整版本: 关于WM_CHAR和WM_KEYDOWN