Registry aktualisieren
-
maaaaaaaahlzeit
ne frage
wenn ich ein eintrag in der registry aender, wie kann ich windows sagen das der diese neu einlesen soll ? n systemneustart faellt weg da es bei jeden systemstart neu beschrieben wirdda musses doch was geben - jemand n tipp fuer mich ?
-
Um was für einen Eintrag handelt es sich denn???
Normalerweise muss Windows nix neu einlesen...
-
das wallpaper
ich will das bei jeden systemstart das wallpaper neu gesetzt wirdSystemParametersInfo reicht nicht da es nur jpg dateien sind
und ActiveDesktop bekomm ich nicht aktiv im source {anderer thread} darum dachte ich daran den registry eintrag zu aendernwenn ich das mach muss ich jedesmal kurz bei eigenschaften von anzeige rein und nochmal bestaetigen eh es wirksam wird
ich dachte auch am temporaeres abspeichern des jpg bildes als bmp, nur das klappt nicht so wirklich -
CImage::Save will nicht so recht - akzeptiert des BMP parameter nicht, als wuerde er es nicht kennen
-
Naja... das Wallpaper setzt man mit
SystemParametersInfo und SPI_SETDESKWALLPAPER
!Und ich verstehe nicht ganz was ein setze via Registry bringen soll, wenn es via "SystemParametersInfo" nicht klappt!?
-
das weiss ich, nur das kann nur BMP dateien, ich hab aber ausschliesslich JPG datein zu setzen
also SystemParameterInfo klappt schon, nur bringt mir nix /=
-
Mr Evil schrieb:
das weiss ich, nur das kann nur BMP dateien, ich hab aber ausschliesslich JPG datein zu setzen
Und was hilft Dir da die Registry?????
-
wenn ich in der registry nachschau - ist dort der eintrag fuer die jpg datei, wenn ich das aender und regedit zumach
muss ich noch in den einstellungen aufklappen und kurz ok klicken, dann ist das neue bild drinn welches in in der regg eingetragen hab
-
Dann sende doch mal ein WM_SETTINGCHANGE weg... möglicherweise wird dann der Hintergrund neu geladen...
-
::PostMessage(::GetDesktopWindow(), WM_SETTINGCHANGE, NULL, NULL);funktioniert nicht, also bewirkt keine aenderung
leider
-
Du solltest Dir natürlich schon die Mühe machen und die Doku zu dieser Nachricht lesen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Aber, weil heute alle irgendwie Faul sind (sorry):Applications should send WM_SETTINGCHANGE to all top-level windows when they make changes to system parameters. (This message cannot be sent directly to a window.) To send the WM_SETTINGCHANGE message to all top-level windows, use the SendMessageTimeout function with the hwnd parameter set to HWND_BROADCAST.
-
Ohne ActiveDesktop kann Windows IMVHO keine anderen Bilder als Bitmaps als Hintergrund verwenden.
Greetz, Swordfish
-
huch, ich hab die seite in der MSDN auf gehabt, aber das irgendwie ueberlesen - danke dir werds mal proben
wenn das klappt kann ich das activedesktop aus den anderen thread {erstmal} vergessen #gg
-
SendMessageTimeout( HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0, SMTO_ABORTIFHUNG, 15, 0 );funktioniert nicht, das desktop wird nicht aktualisiert, ich muesste jetzt kurz in den settings und ok damits geht