首页 > 代码库 > PostMessage对某一窗口控件进行消息发送

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对某一窗口控件进行消息发送