title: What causes SystemEvents.UserPreferenceChanged to be invoked?
body: <p>I have come across <a href="https://stackoverflow.com/questions/4077822/net-4-0-and-the-dreaded-onuserpreferencechanged-hang">a question</a> on this site that mentions the possibility of UI hanging when the <code>SystemEvents.UserPreferenceChanged</code> event is fired. Now, I have not experienced this in my application, but I would like to test whether this bug might be lurking undetected in my code until it is too late.</p>
  
  <p>However, despite doing some searching, I cannot seem to find 
  comprehensive documentation regarding <em>what causes</em> the <code>SystemEvents.UserPreferenceChanged</code> event to be fired.</p>
  
  <p>What are some (all?) system events that cause it to be fired? Is it just a wrapper for the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms725497(v=vs.85).aspx" rel="nofollow noreferrer">WM_SETTINGCHANGE</a> message, or is there more to the story? What settings can I change to cause it to be fired?</p>