2012-05-28 196 views
0

我有什麼似乎是一個常見問題。我在其中一臺最酷的電腦上運行Windows 7 Home Premium(去年購買時),某些視覺效果會自動關閉。檢測操作系統級別的引發事件(操作系統外觀)

我的平均用戶體驗評價很高,所以它不能解釋爲什麼會發生這種情況。唯一關閉的功能是「拖動時顯示窗口內容」選項。這真讓我很煩惱。

目前沒有在線解決此問題的解決方案。除了「必須與您的計算機上安裝的其他應用程序發生衝突」。

是的,我知道什麼應用程序導致此衝突。這是我血腥的互聯網提供商的軟件 - 你知道......當你連接到網絡時,你絕對必須開放的應用程序。

所以,我有一個想法。如果我可以訂閱一個事件,以便在後臺運行的應用程序檢測到此時'顯示窗口內容並拖動'選項關閉 - 然後我的應用程序將簡單地將其重新打開。

當我手動執行此操作時,它似乎保持大約一兩個小時的效果,然後再次關閉。

是否可以處理這些類型的事件,並重新啓動某些視覺效果功能?如果是這樣,有沒有這方面的資源?

我還沒能在這個sibject上找到任何東西。

enter image description here

回答

1

是當系統設置改變時WM_SETTINGSCHANGE消息被髮送到所有窗口。然後,您可以使用SPI_GETDRAGFULLWINDOWS調用SystemParametersInfo以確定「拖動時顯示窗口內容」是否被禁用,並使用SPI_SETDRAGFULLWINDOWS來啓用它。

因此,所有你需要做的就是創建一個表單的應用程序(甚至可以留下隱患),並覆蓋形式WndProc和處理WM_SETTINGSCHANGE消息,並使用P/Invoke調用SystemParametersInfoSystemParamtersInfo is available at pinvoke.net的p/Invoke定義

儘管可能更容易的是更改HKCU\Control Panel\Desktop\DragFullWindows註冊表值的安全性,以便它無法更改。