2011-08-26 56 views
0

當使用如何在SPI_SETDISABLEOVERLAPPEDCONTENT之後刷新?

User32.SystemParametersInfo(SPI_SETDISABLEOVERLAPPEDCONTENT, 0, true, User32.SPIF_UPDATEINIFILE) 

的複選框,設置SPI_SETDISABLEOVERLAPPEDCONTENT在「輕鬆訪問中心」,「刪除背景圖像」設置正確,但是,它沒有任何效果。只有在輕鬆訪問中心中單擊「確定」後,才能正確激活設置並移除背景圖像。有沒有辦法強制刷新編程?對於SystemParametersInfo()的許多其他設置,常數SPIF_UPDATEINIFILE就足夠了,但在這種情況下不是。

回答

2

您可能還需要SPIF_SENDCHANGE:_UPDATEINIFILE確保將值保存到註冊表(或其他任何適當的位置),以便它在將來的會話中生效,但它可以在不通知任何當前正在運行的情況下以靜默方式保存應用程序 - 所以他們只會在重新啓動時纔會注意。使用_SENDCHANGE會導致API向所有頂級窗口發送一條WM_SETTINGSCHANGE消息,通知它們事情已經發生變化;寫得很好的應用程序將在此時重新讀取API或註冊表中的設置並更新/重繪。輕鬆訪問控制面板很可能使用兩個標誌。

+0

確實有用,謝謝:) – floele

相關問題