14
我有一個用C++編寫的Windows 7的自制全屏應用程序,它應該作爲公共演示文稿自行運行很長時間。Windows 7:防止應用程序失去焦點
問題是,有幾個應用程序或驅動程序或Windows本身,不時偷偷關注和/或尤其是在系統啓動時。 結果是:我的全屏應用程序被最小化。
這是非常煩人的,幾乎不可能總是找出你必須停用哪些東西來防止這種情況。特別是因爲有時需要那些焦點偷東西,例如觸摸屏驅動程序。
我能做些什麼來防止失去焦點?
甚至更好:我怎樣才能防止其他應用程序竊取焦點 - 我記得曾經在Windows XP的TweakUI中有過這樣的設置。
一個很好的答案,但不幸的是它並沒有解決我的問題。我認爲這個問題不是一個應用程序試圖設置一個已經存在的窗口到Windows 7的默認情況下阻止的forground我猜。但它是通過shellexec或其他東西創建一個臨時窗口的東西。從驅動程序或自動更新程序或其他任何惡意計劃的後臺進程。不好的一點是我沒有簡單的方法訪問播放器電腦:-( –
LockSetForegroundWindow應該阻止該場景。但是,請注意,當用戶按下Alt或單擊另一個窗口時,通過LockSetForegroundWindow設置的鎖定會被清除,因此您必須請注意它 –
你的解決方案有效SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT ...)犯了一個錯誤,因爲我沒有意識到你必須通過指針參數值傳遞值,雖然有一個整數參數(這很奇怪,當然) –