c#从系统托盘中最大化窗口

时间:2011-08-03 15:21:46

标签: c# windows-7 windows-vista user32 maximize

我无法将应用程序窗口置于前面(即在所有其他窗口的顶部)。我希望用户能够双击系统托盘中的notifyIcon,并且如果应用程序已经打开了一个窗口,可以将其购买到前面。我尝试使用以下两个P / inovkes,但似乎都没有一贯的工作。有没有人知道如何将窗户带到前面/顶部?

[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);

1 个答案:

答案 0 :(得分:0)

鉴于您提供的信息很少,我可以做的最好的猜测是,您对ShowWindowAsync的调用存在时间问题,该调用异步运行,然后调用SetForgroundWindow。

您是否尝试过使用ShowWindow来查看它是否正常工作?

相关问题