您当前的位置: 首页 >  windows

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++-Win32-获取主窗口句柄-GetCurrentProcessId-EnumWindows

插件开发 发布时间:2022-06-08 08:42:16 ,浏览量:1

文章目录
    • 1.EnumWindows函数
    • 2.GetCurrentProcessId函数
  如果获取当前进程窗口句柄,然后再调用窗口下的各类功能函数。

1.EnumWindows函数

  原型:BOOL EnumWindows。   该函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数。回调函数返回FALSE将停止枚举,否则EnumWindows函数继续到所有顶层窗口枚举完为止。

2.GetCurrentProcessId函数

  功能:获取当前进程一个唯一的标识符。

#include 
typedef struct tagWNDINFO
{
	DWORD dwProcessId;
	HWND hWnd;
} WNDINFO, *LPWNDINFO;
//枚举窗口过程
static BOOL CALLBACK EnumProc(HWND hWnd, LPARAM lParam)
{
	DWORD dwProcessId;
	GetWindowThreadProcessId(hWnd, &dwProcessId);
	LPWNDINFO pInfo = (LPWNDINFO)lParam;

	if (dwProcessId == pInfo->dwProcessId)
	{
		pInfo->hWnd = hWnd;
		return FALSE;
	}
	return TRUE;
}
//获取主窗口句柄
static HWND GetProcessMainWnd()
{
	DWORD dwProcessId=::GetCurrentProcessId();
	WNDINFO wi;
	wi.dwProcessId = dwProcessId;
	wi.hWnd = NULL;
	EnumWindows(EnumProc, (LPARAM)&wi);
	return wi.hWnd;
}
关注
打赏
1665481431
查看更多评论
立即登录/注册

微信扫码登录

0.0379s