使用Visual Studio 6(VC ++ 6.0)我使用的是ActiveX日期选择器控件,默认情况下我无法展示它(3006216)。或者,我正在尝试向我的窗口发送键盘消息(F4)以打开控件,但是当我这样做时没有任何反应......
// try 1: use the standard window handle
LRESULT result = ::SendMessage(m_hWnd,VK_F4, 0, 0);
// try 2: use just use the SendMessage
result = SendMessage(VK_F4);
结果始终为0 - 我该怎么做才能测试/验证消息发送?
非常感谢...
奥利
答案 0 :(得分:0)
VK_F4
是关键代码,而不是窗口消息。试试这个:
::SendMessage(m_hWnd, WM_KEYDOWN, VK_F4, 0);
::SendMessage(m_hWnd, WM_KEYUP, VK_F4, 0);
答案 1 :(得分:-1)
好的 - 在这个问题上有两种方法(感谢所有的帮助,伙计们!):
首先:使用带有正确消息的“:: SendMessage”和正确的句柄:
::SendMessage(m_wndDatePicker.m_hWnd, WM_KEYDOWN, VK_F4, 0);
或者使用“SendInput”:
// important: set focus to control first
m_wndDatePicker.SetFocus();
INPUT *key;
key = new INPUT;
key->type = INPUT_KEYBOARD;
key->ki.wVk = VK_F4;
key->ki.dwFlags = 0;
key->ki.time = 0;
key->ki.wScan = 0;
key->ki.dwExtraInfo = 0;
SendInput(1,key,sizeof(INPUT));