windows窗口setparent、setowner

2023-11-09 09:59:51 浏览数 (1)

window窗口

https://learn.microsoft.com/zh-cn/windows/win32/winmsg/window-features

  • overlapped 重叠窗口
  • popout 弹出窗口
  • child 子窗口
  • layered 分层窗口

setparent

SetParent(hWnd, hParent) SetWindowLong(hWnd,GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) |WS_CHILD&~WS_POPUP)

setowner

GetWindow(hWnd, GW_OWNER) //获取owner窗口 SetWindowLong(hWnd, GWL_HWNDPARENT, (LONG)hNewOwnnerhwnd) //修改owner ShowOwnedPopups(hWnd,fShow) //owner窗口和附属窗口一起弹出

子线程中设置,弹窗提示效果

代码语言:javascript复制
EnableWindow(m_hWnd, FALSE);   //通过enable窗口可以设置父窗口禁用
WaitForSingleObject(pi.hProcess, -1);
EnableWindow(m_hWnd, TRUE);

CreateWindowEx创建窗口时指定父窗口

任务栏显示

  • WS_EX_APPWINDOW,任务栏显示窗口图标
  • WS_EX_TOOLWINDOW ,任务栏隐藏窗口图标

合并两个不同进程的任务栏窗口

  • SetCurrentProcessExplicitAppUserModelID(L"test")
  • 相同代码使用命令行参数启动两个进程

0 人点赞