SendMessage 发送按键消息

已经获得了记事本的句柄m_LocalWnd;如何记事本发送一个按键消息,下面的我都试了一下没反应::PostMessage(m_LocalWnd,WM_KEYDOWN,0... 已经获得了记事本的句柄 m_LocalWnd;如何记事本发送一个按键消息,下面的我都试了一下没反应
::PostMessage(m_LocalWnd,WM_KEYDOWN,0,'A');
::PostMessage(m_LocalWnd,WM_KEYUP,0,'A');
::SendMessage(m_LocalWnd,WM_CHAR,0,'B');
::SendMessage(m_LocalWnd, BN_CLICKED, 0, 'A');
::SendMessage(m_LocalWnd,WM_KEYDOWN,0,'A');
::SendMessage(m_LocalWnd,WM_KEYUP,0,'A');
而用:::SendMessage(m_LocalWnd,WM_CLOSE,0,0);能正常关闭
请高手指教
展开
 我来答
stone_dongdong
推荐于2017-11-22 · TA获得超过2853个赞
知道大有可为答主
回答量:1636
采纳率:0%
帮助的人:1015万
展开全部
错,不是获取记事本的句柄,是获取记事本的edit子窗口的句柄。
获取方法有很多,可以使用GetWindow( m_LocalWnd, GW_CHILD), GW_HWNDNEXT 来枚举记事本的每个子控件,GetClassName 来判断那个子控件的类名称是 Edit,就找到那个编辑框窗口里。

在使用你的 PostMessage, sendmessage
buffaloliu
2009-12-28 · TA获得超过526个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:299万
展开全部
WM_KEYDOWN 字符用的是 wParam 吧. 你现在这样子发的话是用 lParam 在发.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecba46aab
2009-12-28 · TA获得超过2303个赞
知道大有可为答主
回答量:2477
采纳率:100%
帮助的人:1968万
展开全部
如何模拟按下“计算器”的“7”键?
一,新建一个基于对话框的工程CalEx。
二,使用VC++自带的工具spy++,可以得到计算器主窗口的类名是"SciCalc",“7”的ID是0x83.
三,增加一个按钮IDC_BUTTON1,并为其增加响应函数,代码如下:
void CCalExDlg::OnButton1()
{
HWND hWnd = ::FindWindow("SciCalc",NULL);
HWND hButton = ::GetDlgItem(hWnd,0x83);
::SendMessage(hButton,WM_LBUTTONDOWN,MK_LBUTTON,NULL);
::SendMessage(hButton,WM_LBUTTONUP,MK_LBUTTON,NULL);
}

VC共享乐园有,但baidu不让发此网的链接。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式