请教窗口置顶问题,我试过几个方法无效

Joyeep 2009-11-10 12:26:58

我通过 OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwProcessId)
获得了进程窗口的HANDLE后,调用下列函数:

SetForegroundWindow((HWND)_hHandle);

SetWindowPos((HWND)_hHandle,HWND_TOP,0,0,0,0,SWP_SHOWWINDOW);

bool ba = ::SetForegroundWindow((HWND)_hHandle);
bool bb = ::ShowWindow((HWND)_hHandle,SW_MAXIMIZE);

均无效果,请教大家,谢谢!
...全文
133 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
这不是鸭头 2009-11-10
  • 打赏
  • 举报
回复
SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
//::SetWindowPos(m_hWnd,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
xsh123321 2009-11-10
  • 打赏
  • 举报
回复
SetWindowPos((HWND)_hHandle,HWND_TOPMOST,0,0,0,0,SHOWWINDOW);
cloudyi 2009-11-10
  • 打赏
  • 举报
回复
可能是获取的句柄无效
哈利路亚1874 2009-11-10
  • 打赏
  • 举报
回复
SetForegroundWindow();只需用这个函数就可以了
JonathanS666 2009-11-10
  • 打赏
  • 举报
回复
ShowWindow(h, SW_SHOW);
FlashWindow(h);
roman_v 2009-11-10
  • 打赏
  • 举报
回复
检查句柄是否真实有效。。
fandh 2009-11-10
  • 打赏
  • 举报
回复
SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE | SWP_SHOWWINDOW);
SetWindowPos(hWnd,HWND_TOPMOST, ... SWP_SHOWWINDOW);
这是常用的!
Joyeep 2009-11-10
  • 打赏
  • 举报
回复

试过楼上的了,都不行啊!
_JeffreyWu 2009-11-10
  • 打赏
  • 举报
回复
不应该吧,试试楼上两位的.

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧