VC 窗口置于前台并激活的方法
2016-09-27 15:43
155 查看
1. ::ShowWindow(m_hWnd, SW_SHOWNORMAL);
2. ::SetActiveWindow(main_window_->m_hWnd);
3. ::SetForegroundWindow(main_window_->m_hWnd);
4. ::SwitchToThisWindow(main_window_->m_hWnd, TRUE);
5. ::SetWindowPos
以上几种方法在部分系统下仍旧可能出问题,推荐以下方法 兼容性较好
HWND hCurWnd = ::GetForegroundWindow();
DWORD dwMyID = ::GetCurrentThreadId();
DWORD dwCurID = ::GetWindowThreadProcessId(hCurWnd, NULL);
::AttachThreadInput(dwCurID, dwMyID, TRUE);
::SetForegroundWindow(main_window_->m_hWnd);
::AttachThreadInput(dwCurID, dwMyID, FALSE);
2. ::SetActiveWindow(main_window_->m_hWnd);
3. ::SetForegroundWindow(main_window_->m_hWnd);
4. ::SwitchToThisWindow(main_window_->m_hWnd, TRUE);
5. ::SetWindowPos
以上几种方法在部分系统下仍旧可能出问题,推荐以下方法 兼容性较好
HWND hCurWnd = ::GetForegroundWindow();
DWORD dwMyID = ::GetCurrentThreadId();
DWORD dwCurID = ::GetWindowThreadProcessId(hCurWnd, NULL);
::AttachThreadInput(dwCurID, dwMyID, TRUE);
::SetForegroundWindow(main_window_->m_hWnd);
::AttachThreadInput(dwCurID, dwMyID, FALSE);
相关文章推荐
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法(使用AttachThreadInput和SetForegroundWindow两个API)
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- VC防止窗口和控件闪烁的方法
- VC++ 控制台程序不弹出窗口的方法
- VC防止窗口和控件闪烁的方法
- VC关于置顶窗口的方法小结
- VC窗口最大化方法
- VC防止窗口和控件闪烁的方法
- VC启动窗口画面制作方法研究
- VC无闪烁刷屏技术的实现---经验总结之防止窗口闪烁的方法
- VC防止窗口和控件闪烁的方法
- VC#中渐显窗口的方法
- VC防止窗口和控件闪烁的方法
- VC中改变窗口标题的方法
- VC防止窗口和控件闪烁的方法
- VC防止窗口和控件闪烁的方法
- VC窗口启动隐藏时闪烁问题解决方法(原创)