#177 Allow broadcasting WM_SETTINGCHANGE

v3.2.0
closed
Mark Miesfeld
Classes (154)
5
2012-08-14
2007-06-01
No

On Windows it is sometimes necessary to change environment settings via the registry entries. Such changes usually will get visible at the next logon, which would force a user to logoff and logon again.

If there was a way to broadcast the WM_SETTINGCHANGE (named WM_INICHANGE in earlier versions of Windows), one could use ooRexx for installation purposes and make changes visible in the same user session as is the "state-of-the-art" in the Windows environment.

I.e., all top-level windows would be informed of the change. This should lead to new processes that got created thereafter to honor the new environment settings.

The ooRexx installation script does use that feature to make the environment changes visible to the current running windows, e.g. in "newpath.nsh" the entry:

SendMessage ${HWND_BROADCAST} ${WM_SETTINGCHANGE} 0 "STR:Environment" /TIMEOUT=10000


The WindowObject class may be a candidate where this could be made available, but also a Windows-specific Sys-function call named something like "BroadastSettingChange".

Discussion

  • Mark Miesfeld
    Mark Miesfeld
    2007-06-13

    Logged In: YES
    user_id=191588
    Originator: NO

    Committed revision 467

    I implemented this as a method of the .WindowsManager class, which is where I think it fits best. The doc says: The WindowsManager class provides methods to query, manipulate, and interact with windows on your desktop.

    Since this new method essentially sends a message to each top-level window on the Desktop telling them to reassess the system parameters it is both manipulating and interacting with the windows on the Desktop.

     
  • Mark Miesfeld
    Mark Miesfeld
    2007-06-19

    Logged In: YES
    user_id=191588
    Originator: NO

    The ooRexx Reference documentation has been updated for this RFE with svn revision 471.

     


Anonymous


Cancel   Add attachments