Registry Change ohne explorer.exe Neustart

  • Hallo,

    Ich möchte mein Desktop-Verzeichnis (unter Win7) ändern:

    RegWrite( 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\' , 'Desktop' , "REG_SZ" , 'C:\' )

    Das Problem: Ich muss den Explorer neu starten um das wirksam zu machen. Das schafft jede Virtual-Desktop-App aber auch ohne.
    Wie kann ich dem Explorer mitteilen die Änderung zu bemerken?

    Recherchen gingen (bislang ohne Erfolg) so in die Richtung:

    _WinAPI_SystemParametersInfo

    Run( "RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True")


    Gruß

    Blues

  • Hallo ic2,

    Danke für die Antwort.
    Ich kenne mich leider mit dem Windows-Messaging-System noch nicht richtig aus.
    Woran erkenne ich ob das Senden der Message geklappt hat. Ist das hier korrekt:?

    Code
    _SendMessage(  WinGetHandle( '[CLASS:Progman]')  , $WM_SETTINGCHANGE , 0x0000 , "Policy" )


    Es wird bei msdn etwas erwähnt von SendMessageTimeout . Sollte ich lieber die Win_apiex verwenden?


    Code
    Local Const $HWND_BROADCAST   = 0xFFFF;~ Local Const $SMTO_ABORTIFHUNG = 0x0002;~ _WinAPI_SendMessageTimeout( $HWND_BROADCAST , $WM_SETTINGCHANGE, 0 , "intl", 0, $SMTO_ABORTIFHUNG )


    Ich bräuchte noch einen kleinen Schubser in die richtige Richtung.

    Tausend Dank schon mal

    Gruß

    Blues