2011-08-26 7 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 또는 레지스트리에서 설정을 다시 읽고 업데이트/다시 칠합니다. Ease of Access 제어판은 두 플래그를 모두 사용하는 것이 좋습니다.

+0

실제로 작동합니다. 감사합니다. :) – floele

관련 문제