我正在使用像SHAppBarMessage
这样的win32调用来编写应用栏。目前我通过这样做来处理这种行为:
SystemEvents.SessionSwitch += this.sessionSwitchEventHandler;
事件处理程序有一些代码:
private void SysEventsCheck(object sender, SessionSwitchEventArgs e)
{
switch (e.Reason)
{
case SessionSwitchReason.SessionUnlock:
case SessionSwitchReason.ConsoleConnect:
function_to_dock_app_bar();
break;
}
}
这适用于SessionSwitchReason.SessionUnlock
情况,由用户锁定机器然后解锁时触发。但是,当用户选择“切换用户”选项,然后稍后重新登录(触发SessionSwitchReason.ConsoleConnect
情况)时,所有窗口都会不规律地移动,并且AppBar会移动到错误的位置。
有没有人对此有洞察力或解决方法?处理对接的功能类似于任何其他win32 wpf应用栏(for example)