码迷,mamicode.com
首页 > 其他好文 > 详细

PostMessage对某一窗口控件进行消息发送

时间:2014-12-08 15:48:20      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:postmessage 单击 位置

假设现在有一个窗口,其句柄为hWindow,窗口上有一按钮控件IDC_BTN_OPEN,若希望通过发送消息的方法实现点击该按钮控件(即使窗口最小化也能实现点击功能),可通过PostMessage方法。

具体方法:1.通过::FindWindow()方法找到该窗口句柄 hWindow。

          2.在PostMessage中实现单击的方法为:MAKEWPARAM(IDC_BTN_OPEN,BN_CLICKED)

                    3.调用PostMessage()方法实现单击按钮效果。

代码如下

       HWND hWindow= ::FindWindow(_T("TSSHELLWND"),NULL);	
	if(NULL == hWindow)
	{
		nErrorCode = GetLastError();
		return;
	}
	if(!::PostMessage(hWindow,WM_COMMAND,MAKEWPARAM(IDC_BUTTON1,BN_CLICKED),0);)
	{
		nErrorCode = GetLastError();
		return;
	}


若想实现单击窗口某个具体位置,可用如下方法:

坐标值应该是lParam,使用MAKEWPARAM合成,代码如下:
int x=100,y=100;
LPARAM lParam = MAKEWPARAM(x,y);
::PostMessage(hWindow, WM_LBUTTONDOWN, 1, lParam);


本文出自 “whatever957” 博客,请务必保留此出处http://whatever957.blog.51cto.com/6835003/1587550

PostMessage对某一窗口控件进行消息发送

标签:postmessage 单击 位置

原文地址:http://whatever957.blog.51cto.com/6835003/1587550

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!