There is a function SHChangeNotify(), which can be called to notify the
explorer that a file or folder
is changed. But my problem is that I don't change the file or folder, I just
modify the setting of explorer.
After modification I want the explorer to do refreshing. Which function
shall I call? or May I call
SHChangeNotify().
Thanks.
Johnny Xia.
Johnny,
Which setting are you changing, and how are you changing it?
Dave
--
MVP VC++ FAQ: http://www.mvps.org/vcfaq
My address is altered to discourage junk mail.
Please post responses to the newsgroup thread,
there's no need for follow-up email copies.
Johnny Xia.
"David Lowndes" <dav...@mvps.org> wrote in message
news:tuikjtcg0gsapulg3...@4ax.com...
I wondered if it might have been something you could change using
SystemParametersInfo, but I can't see it referenced there.
Does anyone have any suggestions for the approved way of changing this
setting?
Thanks for your concern of my question. I open the main.cpl with dependance
viewer. This cpl imports lots of noname
functions of shell32.dll. Maybe an undocumented API could do this function.
I tried another way, and almost get the result that I want. After changing
the value of ShellState, I broadcast the
WM_SETTINGCHANGE message with lParam points to a string "ShellState". This
will notify explorer that
system setting changed. But the desktop doesn't refresh immediately. I have
to use the key F5 to manually refresh
the window. So I am thinking that if there is way to refresh the explorer
programatically.
Cheers,
Johnny Xia.
"David Lowndes" <dav...@mvps.org> wrote in message
news:lr2mjtsomia9a83b0...@4ax.com...
It's probably done through a WM_SETTINGCHANGE, which is sent to all
top-level windows. Write a small program to output the string which is
contained in lParam, change the one-click settings in the folder options
window, and see what happens. It should then just be a case of replicating
this message...
Dan
>.
>