首页 新闻 会员 周边

关于Win32api对UWP应用窗口操作

0
悬赏园豆:20 [待解决问题]

我写了这样一个代码:

bool setVis ( HWND hWnd, bool flag )
{
	DWORD dwExStyle = GetWindowLong ( hWnd, GWL_EXSTYLE );
	dwExStyle &= ( flag ? ~WS_VISIBLE : WS_VISIBLE );
	dwExStyle |= ( flag ? WS_EX_APPWINDOW : WS_EX_TOOLWINDOW );
	dwExStyle &= ~( flag ? WS_EX_TOOLWINDOW : WS_EX_APPWINDOW );
	return SetWindowLong ( hWnd, GWL_EXSTYLE, dwExStyle ) && ShowWindow ( hWnd, SW_SHOW ) && UpdateWindow ( hWnd ) && ShowWindow ( hWnd, flag ? SW_SHOW : SW_HIDE );
}

它可以隐藏大部分Win32应用的窗口,但对很多UWP无效(如新版计算器,及CalculatorApp.exe)
求大神帮忙解决一下

瓶瓶罐罐的主页 瓶瓶罐罐 | 菜鸟二级 | 园豆:201
提问于:2023-01-01 19:26
< >
分享
所有回答(1)
0

你不需要去获取窗口的基本样式,你只需要用 IsWindowVisible 和 ShowWindow / SetWindowPos 这样的函数,就可以获取到窗口的可见性,显示或隐藏窗口(包括最大化最小化等)。判断窗口是否最大化最小化,使用 IsZoomed 和 IsIconic 。

hoodlum1980 | 园豆:559 (小虾三级) | 2023-01-10 16:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册