我做个系统热键,用来控制窗体的显隐,不过要在显示时让其成为当前窗体,位分主
要代码如下:
if(pMsg->wParam==WM_HOTKEYSIV){//WM_HOTKEYSIV为自定义消息
if(pMsg->wParam==1026){//1026为热键
::ShowWindow(hWnd,!(::IsWindowVisible(hWnd)));//hWnd为所捕获窗
//体的句柄
if(::IsWindowVisible(hWnd)){
::SetWindowPos(hWnd,HWND_NOTOPMOST,
0,0,0,0,
SWP_SHOWWINDOW|SWP_NOMOVE|SWP_NOSIZE); }
}
}
问题是当其隐藏时如果有别的窗体的当前激活窗体时,通过热键令其显示,
它并不成为激活窗体。::SetFocus(hWnd) 以及 ::SetActiveWindow(hWnd)也
试过,都不行,能指教一下吗?为什么?
要代码如下:
if(pMsg->wParam==WM_HOTKEYSIV){//WM_HOTKEYSIV为自定义消息
if(pMsg->wParam==1026){//1026为热键
::ShowWindow(hWnd,!(::IsWindowVisible(hWnd)));//hWnd为所捕获窗
//体的句柄
if(::IsWindowVisible(hWnd)){
::SetWindowPos(hWnd,HWND_NOTOPMOST,
0,0,0,0,
SWP_SHOWWINDOW|SWP_NOMOVE|SWP_NOSIZE); }
}
}
问题是当其隐藏时如果有别的窗体的当前激活窗体时,通过热键令其显示,
它并不成为激活窗体。::SetFocus(hWnd) 以及 ::SetActiveWindow(hWnd)也
试过,都不行,能指教一下吗?为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货