我有一个Windows窗体应用程序,它将在最小化时进入系统托盘。当我收到弹出我的应用程序的消息时,它将调用ShowWindowFromTray()函数。我不想把重点放在具有焦点的应用程序上,因为它可能会中断用户正在做的事情。
private void ShowWindowFromTray()
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
BTW此应用程序具有以下选项:用户可以检查应用程序是否始终位于顶部或TopMost是否位于所有其他窗口上。
答案 0 :(得分:3)
使用带有SW_SHOWNA的ShowWindow()API:
而不是Show() private const int SW_SHOWNA = 4;
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
private void ShowWindowFromTray()
{
ShowWindow(this.Handle, SW_SHOWNA);
}