Solved

Refresh windows from registry without rebooting

Posted on 2002-06-05
8
642 Views
Last Modified: 2013-12-03
Well from the title above, I'm trying to create a program that cuase windows to automatically refresh all its settings from the registry as my program changes something in the registry but I want windows to detect/apply the changes without having to reboot. I've seen some program that could do this, I think it was one of the micrsoft power tools but I can't remember and then I see that some VB programs can do these as well but I need to know how to do it in VC++. I hoping that someone can give me an example coding that I can use or point me to some website that teaches this.
0
Comment
Question by:TDR
  • 2
  • 2
  • 2
  • +2
8 Comments
 
LVL 23

Expert Comment

by:Roshan Davis
ID: 7056022
The link http://codeproject.com/tips/resswitch.asp contains How to change the display settings

I'm looking for a generic one.


GOOD LUCK
0
 
LVL 11

Expert Comment

by:robert_marquardt
ID: 7056187
Try to broadcast a WM_WININICHANGE.
0
 
LVL 86

Accepted Solution

by:
jkr earned 350 total points
ID: 7056208
This is usually done by broadcasting a 'WM_SETTINGCHANGE' - see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/sysinfo_4d5x.asp ('WM_SETTINGCHANGE') and http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11e.asp ('Using System Settings and Notifications')
0
 
LVL 86

Expert Comment

by:jkr
ID: 7056214
>>Try to broadcast a WM_WININICHANGE.

"WM_WININICHANGE
The WM_WININICHANGE message is obsolete. It is included for compatibility with earlier versions of the system. New applications should use the WM_SETTINGCHANGE message."
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 11

Expert Comment

by:robert_marquardt
ID: 7056257
Sorry, forgot about that. Best broadcast both messages. There are still programs around which only react to the old message.
0
 
LVL 20

Expert Comment

by:Madshi
ID: 7058719
:-)

From Delphi's windows.pas file:

const WM_SETTINGCHANGE = WM_WININICHANGE;

Regards, Madshi.
0
 
LVL 20

Expert Comment

by:Madshi
ID: 7058726
TDR, you can't generally force anyone to reload registry values. You should use SystemParametersInfo or other APIs to change system settings. In that case it most of the time works without reboot. Also you can try broadcasting WM_SETTINGCHANGE/WM_WININICHANGE, as also suggested. But that only helps for some registry values, by far not for all. Also you could programmatically post a F5 key to the window which should be refreshed. There are a few more such hacks, but after all you can't force every program to reload its registry values. It depends on how each program is written, whether it reacts on WM_SETTINGCHANGE and the like...

Regards, Madshi.
0
 

Author Comment

by:TDR
ID: 7061891
Though I haven't really tried out this solution yet but at least its an idea I can work on at least and search from there...Thanks
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you have ever found yourself doing a repetitive action with the mouse and keyboard, and if you have even a little programming experience, there is a good chance that you can use a text editor to whip together a sort of macro to automate the proce…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now