API之FindWindow
//////////////////////////////////////////////////////////////////////////////////////////////////
vc++6.0 win32 sdk测试成功
//////////////////////////////////////////////////////////////////////////////////////////////////
//====================================================================
//楚人外挂辅助工作室 QQ群:237084663 欢迎免费入群交流
//====================================================================
// FindWindowEx.cpp : Defines the entry point for the consoleapplication.
//该程序的入口文件
//该函数为win32 带有MFC控制台程序
#include "stdafx.h"
#include "FindWindowEx.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
// MSDN:
//
// The FindWindowEx function retrieves a handle to a window
// whose class name and window name match the specifiedstrings.
// The function searches child windows, beginning with the onefollowing
// the specified child window. This function does not perform acase-sensitive search.
// 作者翻译:该函数获取一个指定类名和窗口标题字符串(大小写不敏感)都匹配的子窗口的句柄。
//
// HWND FindWindowEx(
// HWNDhwndParent,// handle to parent window父窗口句柄,如果为NULL,则指
// //桌面
// HWND hwndChil dAfter, // handleto child window---》Z序下一个直系子窗口
//////句柄,//孙窗口
// 不行,该窗口和此函数要查找的窗口应该是兄弟关系
// LPCTSTRlpszClass, //class name类名
// LPCTSTRlpszWindow //window name标题名字字符串
// )
CWinApp theApp;//该程序MFC封装的唯一一个实例对象
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
HWNDhCalc=::FindWindow(NULL,"计算器");
if(!hCalc)
{
cout<< "没有找到目标,查找其子失败"<< endl;
return0;
}
//如果成功则继续如下指令,我们查找该计算器子控件,其名字为Backspace
//若找到,然后将其改名字为DELETE
HWNDhBoy=::FindWindowEx(hCalc,NULL,"Button","Backspace");//Backspace
if(!hBoy)
{
cout<< "没有找到匹配的子控件,不存在该子空间或者该控件不为指定窗口的子"<< endl;
}
else
{
SetWindowText(hBoy,"DELETE");
//如果找到子控件的话,用SPY++看下就可以看见计算器的Backspace,虽然名字没有刷新过来,但是名//字已经是DELETE了
}
//cout<< 0 <<endl;
return0;
}
///////////////////////////////////////////////////////////////////////////////////////