VC中查找窗口并向其发送消息

1、查找窗口句柄的方法:

方法1:FindWindow方法,如下:

//先找到窗口 //假设要找窗口的名字为TEST //根据窗口名来查找 CWnd *pWnd = CWnd::FindWindow(NULL,L"TEST"); if (!pWnd) { MessageBox(L"无效窗口") } /***********还没试验成功**********************/ //////////////////////////////////////////////->求救 //也可以根据窗口类来查找 //假设要找的窗口类为CTest CWnd *pWnd = CWnd::FindWindow(CTest,NULL); if (!pWnd) { MessageBox(L"无效窗口") }

 

方法2:如果知道窗口是父窗口那么就可以用GetParent()方法获得窗口句柄

 

2、向窗口发送消息

pWnd->SendMessage(UM_USE_MESSAGE, NULL, NULL);

 

3、消息的定义格式

首先定义UM_USE_MESSAGE

#define UM_USE_MESSAGE WM_USER+1

 

在.h文件中声明消息:

afx_msg LRESULT OnUseMessage(WPARAM, LPARAM);

在.CPP文件中映射消息

BEGIN_MESSAGE_MAP(CTest, CDialog) ....... .... ON_MESSAGE(UM_USE_MESSAGE, &CTest::OnUseMessage) ..... ........ END_MESSAGE_MAP()

在.cpp文件中实现消息函数

LPESULT CTest::OnUseMessage(WPARAM wParam, LPARAM lParam) { ............ return NULL; }

你可能感兴趣的:(user,null)