試過了 BringToTop() 和 SetWindowsPos() 都沒什麼用。
SwitchToThisWindow() 有用,但不是想要的效果。
SetForegroundWindow() 有用,但不是每次都成功,
失敗時程式就會在工作列上閃阿閃的 (註 1)。
最後參考了這篇的第二段 code ,終於實現了需要的功能:
http://www.codeproject.com/Tips/76427/How-to-bring-window-to-top-with-SetForegroundWindo
最主要是 AttachThreadInput() 讓 SetForegroundWindow() 幾乎都能成功。
註 1: 利用 SPI_SETFOREGROUNDFLASHCOUNT 可以控制要閃的次數。
SystemParametersInfo( SPI_SETFOREGROUNDFLASHCOUNT, 0, 5, SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE);
沒有留言:
張貼留言