我无法将应用程序窗口置于前面(即在所有其他窗口的顶部)。我希望用户能够双击系统托盘中的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);
答案 0 :(得分:0)
鉴于您提供的信息很少,我可以做的最好的猜测是,您对ShowWindowAsync的调用存在时间问题,该调用异步运行,然后调用SetForgroundWindow。
您是否尝试过使用ShowWindow来查看它是否正常工作?