代码之家  ›  专栏  ›  技术社区  ›  ispiro

为什么在切换用户时引发SystemEvents.DisplaySettingsChanged?

  •  0
  • ispiro  · 技术社区  · 4 年前
    SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
    

    以及:

    void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
    {
        MessageBox.Show("a");
    }
    

    然后以其他用户身份登录。您甚至不需要登录,只需看到对方的用户名作为标题即可。然后返回您的帐户-将调用事件处理程序。

    为什么?未更改任何显示设置。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Ben Voigt    4 年前

    您说“没有更改显示设置”,但您错了。

    操作系统显示设置没有更改,但在启用快速用户切换的情况下,当您从登录会话切换时,它将处于“断开”状态,就像您从远程桌面断开连接一样。

    再次登录时,登录会话(以及其中的所有窗口)将再次连接到显示器。”断开连接“->”“显示连接”是显示格式的一个相当大的变化。

    即使操作系统没有显示设置更改,登录会话和内部的所有窗口都会更改,这就是事件被触发的原因。

    推荐文章