一个wpf桌面程序,是自启动的,窗口需要最大化并置顶,使用了如下代码来实现
[Conditional("RELEASE")]
private void MaxWindow()
{
try
{
if (!Topmost)
{
WindowState = WindowState.Normal;
WindowStyle = WindowStyle.None;
ResizeMode = ResizeMode.NoResize;
Topmost = true;
Left = 0.0;
Top = 0.0;
Width = SystemParameters.PrimaryScreenWidth;
Height = SystemParameters.PrimaryScreenHeight;
}
if (!IsActive)
{
Activate();
}
}
catch(Exception err)
{
Log.Write(LogLevel.Error, err.Message);
}
}
如果是windows7/10启动后自动登录到桌面,程序自启动后都可以实现全屏置顶。
但如果是注销帐号后再次登录,win10系统下可实现全屏置顶,win7系统下程序会被任务栏档住,只能全屏不能置顶。
在程序启动后按"win"键(做了定时检测全屏置顶状态),win10系统下也可以自动恢复全屏置顶,而win7系统下就会被任务栏档住。如下图:
是Topmost对于win7无效,还是win7的置顶要使用其它方式?
http://www.yuzifu.net