2011-08-26 24 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

相关问题