Win32中设置窗体失去焦点,并从新获取焦点

由于项目需求,在打开新窗体的同时,须要以前窗口不可被点击,可是最好不要消失,找了好久找到了一种方法:web

//找到窗口属性
	LONG   dwNewLong = GetWindowLong(hWndMain, GWL_EXSTYLE);
	//隐藏窗口
	dwNewLong |= WS_EX_TRANSPARENT | WS_EX_LAYERED;
	SetWindowLong(hWndMain, GWL_EXSTYLE, dwNewLong);
	//显示窗口
	//dwNewLong ^= WS_EX_TRANSPARENT | WS_EX_LAYERED;
	//SetWindowLong(hWndMain, GWL_EXSTYLE, dwNewLong);

这里的原理是将hWndMain窗口屏蔽掉鼠标和键盘的响应,可是保留在桌面最底层,至关于嵌入了桌面背景
若是再次调用显示窗口的函数可将其激活svg