gpt4 book ai didi

c# - 单击桌面快捷方式时从系统托盘恢复应用程序

转载 作者:行者123 更新时间:2023-11-30 18:00:01 25 4
gpt4 key购买 nike

我创建了一个应用程序,它在启动时会在系统托盘中启动。我使用下面的帖子来实现这一点: How to start WinForm app minimized to tray?

此应用程序也只允许单个实例运行: http://www.codeproject.com/Articles/32908/C-Single-Instance-App-With-the-Ability-To-Restore

我遇到的问题是当我第一次启动应用程序时它最小化到系统托盘,但是如果我单击桌面图标它不会出现。我必须单击托盘中的图标才能恢复应用程序。如果我再次将它最小化,然后单击它出现的桌面图标。

这是我第二次尝试 winform 应用程序,是否与 SetVisibleCore 有关?

任何指向正确方向的指示都会很棒。

最佳答案

如果你让你的 WinForms 应用程序成为单例,那么让最小化的窗口还原是很容易的,

http://www.hanselman.com/blog/TheWeeklySourceCode31SingleInstanceWinFormsAndMicrosoftVisualBasicdll.aspx

这只是使用 Microsoft.VisualBasic.ApplicationServices 命名空间中的 WindowsFormsApplicationBase 的另一种变体。比使用 Mutex 更容易/更好。

你可能会改变

    void this_StartupNextInstance(object sender, StartupNextInstanceEventArgs e)
{
Form1 form = MainForm as Form1; //My derived form type
form.LoadFile(e.CommandLine[1]);
}

    void this_StartupNextInstance(object sender, StartupNextInstanceEventArgs e)
{
Form1 form = MainForm as Form1; //My derived form type
form.Show();
form.WindowState = FormWindowState.Normal;
}

关于c# - 单击桌面快捷方式时从系统托盘恢复应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10529370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com