我的一個程序似乎在每隔幾小時將設置關閉的情況下更改顯示屬性>外觀>效果>顯示窗口內容。以編程方式更新桌面「在拖動時顯示窗口內容」
我不確定究竟是哪個程序,或者它發生的時間。我有很多程序看起來像是可能的罪魁禍首 - 壁紙輪播,多顯示器軟件,多個虛擬桌面和切換,以及其他一些。
我只是想創建一個小批處理腳本來定期運行,並將設置重新設置爲開。
有誰知道如何在Windows中做到這一點?我正在使用xp pro sp3。
謝謝!
我的一個程序似乎在每隔幾小時將設置關閉的情況下更改顯示屬性>外觀>效果>顯示窗口內容。以編程方式更新桌面「在拖動時顯示窗口內容」
我不確定究竟是哪個程序,或者它發生的時間。我有很多程序看起來像是可能的罪魁禍首 - 壁紙輪播,多顯示器軟件,多個虛擬桌面和切換,以及其他一些。
我只是想創建一個小批處理腳本來定期運行,並將設置重新設置爲開。
有誰知道如何在Windows中做到這一點?我正在使用xp pro sp3。
謝謝!
您可以使用RegMon來查找不斷更改設置的程序。也許這比黑客入侵更好。
我懷疑它保存在註冊表中 - 也許[HKEY_CURRENT_USER \ Control Panel \ Desktop] - 「DragFullWindows」?
使用批處理文件每隔一小時左右就可以輕鬆地將註冊表設置翻轉回「1」。
最好的選擇是使用受支持的API以編程方式執行此操作。我沒有測試過這一點,但它應該做的伎倆:
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,
TRUE,
NULL,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE)
您可以使用SPI_GETDRAGFULLWINDOWS看是否位已被翻轉以避免不必要地觸發WM_SETTINGCHANGE。
在Windows 7 x64上測試 - 工作正常!選項在SystemParametersInfo()調用後立即生效 - 無需註銷。 (示例應用程序代碼:https://gist.github.com/neokril/8035995) – Dmitry 2013-12-19 08:16:24
有一個簡單而有效的解決方案來解決這個問題。在記事本類型下列行:
Windows註冊表編輯器版本5.00
[HKEY_CURRENT_USER \控制面板\桌面] 「DragFullWindows」= 「1」
[HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows \ CurrentVersion \ Explorer \ VisualEffects \ DragFullWindows]「CheckedValue」= dword:00000001「UncheckedValue」= dword:00000001
將文件另存爲「Show Window Contents.reg」雙擊該文件並重新啓動將永久解決問題。發佈消息,如果你覺得這很有用。
亞拉文納吉
這可能會實現,但鑑於我在我的答案(這是剛剛更改註冊表,直到註銷並重新登錄在沒有任何效果)提到,如果罪犯被編程改變設置(即不直接更改註冊表項),監視註冊表可能不會報告正確的事情。這取決於RegMon的工作方式。 – Sean 2009-07-11 21:06:20