C++中如何对子窗口操作?
本帖最后由 jtwc 于 2023-5-31 19:44 编辑C++中如何对子窗口操作?已知父窗口类名“000”,子窗口类名“001”,下面是激活父窗口源码,激活子窗口源码该如何写呢?谢谢了
激活父窗口源码:
HWND hWnd = ::FindWindow("000", NULL);
if (hWnd != NULL)
{
// printf("%d", GetClientRect(hWnd, &rect));
}
ShowWindow(hWnd, SW_RESTORE);//如果界面最小化,将其激活
激活子窗口源码:(该如何写呢?) 子窗体是怎么定义的? 子窗口源码呢?? 子窗口不需要激活,只需要将父窗口设置到z次序的顶层,就能激活!
HWND hWnd = Parent; //将要激活的父窗口
HWND hForeWnd = ::GetForegroundWindow();
DWORD dwForeID = ::GetWindowThreadProcessId(hForeWnd,NULL);
DWORD dwCurID = ::GetCurrentThreadId();
::AttachThreadInput(dwCurID,dwForeID,TRUE);
::ShowWindow(hWnd,SW_SHOWNORMAL);
::SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
::SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0, SWP_NOSIZE|SWP_NOMOVE);
::SetForegroundWindow(hWnd);
::AttachThreadInput(dwCurID,dwForeID,FALSE); https://www.52pojie.cn/thread-1792152-1-1.html
刚好有人发了个帖子 你可以参考一下 土鸡炖蘑菇 发表于 2023-6-1 08:35
https://www.52pojie.cn/thread-1792152-1-1.html
刚好有人发了个帖子 你可以参考一下
谢谢老师了
谢谢各位老师,已解决。
页:
[1]