"rundll32.exe user,repaintscreen" für WinXP ???

Dieses Thema "rundll32.exe user,repaintscreen" für WinXP ??? im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Super_Squishy, 8. März 2006.

Thema: "rundll32.exe user,repaintscreen" für WinXP ??? hallo, ich suche einen befehl der unter winxp den bildschirminhalt aktualisiert. unter win9x ist es rundll32.exe...

  1. hallo,
    ich suche einen befehl der unter winxp den bildschirminhalt aktualisiert. unter win9x ist es rundll32.exe user,repaintscreen dieser funktioniert unter winxp nicht.

    beispiel:
    ich möchte mit einer batchdatei die erweiterung bei bekannten dateitypen ausblenden ein, -bzw. ausschalten.

    inhalt der batchdatei:
    @echo off
    REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /V HideFileExt /T REG_DWORD /D 1 /F
    rundll32.exe user,repaintscreen
    exit

    problem rundll32.exe user,repaintscreen geht nicht.

    wie lautet der befehl für winxp? oder... wie kann ich dies anders realisieren?

    mfg

    o(°¿°)o
     
  2. Hallo

    unter XP müsste es so gehen

    %windir%\system32\rundll32.exe USER32.DLL,UpdatePerUserSystemParameters

    Gruss
     
  3. funktioniert leider nicht, habe es auch mit:

    RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True

    versucht, ebenfalls ohne erfolg.

    mfg

    ?(?¿?)?
     
  4. hallo,

    du könntest über die batch eine vbs datei aufrufen, in der dann mit
    WshShell.Run(RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters)
    der refresh erfolgt.

    greetz
    drulak
     
  5. hmm ... ja, dass könnte ich so mal ausprobieren. ich würde das ganze nur lieber mit ein batch realisieren, da ich von vbs nicht soviel plan habe und das batchen aus, sagen wir mal, nostalgischen gründen vorziehe.  ::)
     
  6. hallo,

    du brauchst da nicht groß ahnung zu haben so einfach wie das ist

    instanziier einfach dieses wshell-objekt und dann kannste den aufruf zum refreshen geben
    also einfach
    set WshShell = WScript.CreateObject(WScript.Shell)
    und dann die zeile wie oben

    greetz
    drulak
     
  7. ps:

    du hast damit ja keinen verrat an deiner batch-programmierung begangen, du hast lediglich eine eigene
    routine benutzt ( die du in vbs geschrieben hast)

    alle kommandos, die du in deiner batch aufrufst, sind ja auch programmierte routinen (in c)

    greetz
    drulak
     
  8. hallo, habe es jetzt mal ausprobiert wie beschrieben:
    refresh.vbs mit folgendem inhalt erstellt:

    set WshShell = WScript.CreateObject(WScript.Shell)
    WshShell.Run(RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters)

    wenn ich diese vbs ausführe, aktualisiert das desktop aber die endungen der dateien (an- oder aus) werden nicht aktualisiert, auch nicht, wenn ich F5 drücke. klicke ich im kontextmenü auf aktualisieren (maus -> desktop -> rechte maustaste -> aktualisieren), geht es - woran mag das liegen?   :|

    gibt es vieleicht noch einen anderen befehl? z.B. das tool xp-antispy (ich glaube mit c++ geschrieben), wähle ich dort dateiendungen an- oder aus und gehe anschließend auf ok, gibt es einen kurzen refresh und der zustand wird sofort sichtbar. :-\

    mfg