从系统托盘中最大化窗口

本文关键字:最大化 窗口 系统 | 更新日期: 2023-09-27 18:04:18

我有麻烦试图把我的应用程序窗口到前面(即在所有其他窗口的顶部)。我希望用户能够双击系统托盘中的notifyIcon,如果应用程序已经有一个窗口打开它被买到前面。我试过使用以下两个P/调用,但似乎都没有一致的工作。有人知道怎么把窗户弄到前面/顶部吗?

[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll")]
tatic extern bool SetForegroundWindow(IntPtr hWnd);
ShowWindowAsync(ADProcess.MainWindowHandle, SW_RESTORE);
SetForegroundWindow(ADProcess.MainWindowHandle);

从系统托盘中最大化窗口

考虑到你提供的小信息,我能做的最好的猜测是,你有一个时间问题,调用ShowWindowAsync异步运行,然后调用SetForgroundWindow。

你试过使用ShowWindow看看是否正常工作吗?