环境:win10,vs2017
注意这里是始终置底,不是始终置顶
关于窗口持续置底,尝试了不少网上方法,但都不怎么适合自己的程序。于是自己想了个比较笨的方法,总算是基本实现自己想要的效果了。
下面这句代码能将窗口进行一次置底,但窗口一激活又显示了。
SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
于是尝试用100ms延时的定时器持续执行,发现效果还算理想,能实现简单的持续置底。
实现如下:
//创建定时器
SetTimer(TIMER_AUTOTURN, 100, 0);
void CDesktopEvaDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
switch (nIDEvent) {
case TIMER_AUTOTURN:
{
//窗口置底
SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
break;
}
}
CDialogEx::OnTimer(nIDEvent);
}