Seite 1 von 1
RunProgram() ?
Verfasst: 08.02.2009 03:35
von The_Dark_Zim-.-
Hey ho
Ich will den Befehl :
"RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters"
in RunProgram() ausführen.
Das scheint aber aufgrunt der dll nicht zu gehen.
Wie kann ich das umgehen oder anders machen ?
Im mom schreibt ich das immer in eine *.bat aber das nervt, weil dann immer cmd aufgeht.
Gruß ZIM
Verfasst: 08.02.2009 09:57
von Bisonte
mit dem Flag #PB_Program_Hide erscheint kein CMD Fenster... Siehe (F1) PB-Hilfe...
Verfasst: 08.02.2009 16:53
von The_Dark_Zim-.-
Danke an Bisonte
Hab deine lösung nicht getestet wird sicherlich auch gehen ^^
Hab stattdessen das benutzt:
Code: Alles auswählen
Procedure.s GetSystemDirectory()
Path.s=Space(501)
GetSystemDirectory_(@Path,500)
ProcedureReturn Path
EndProcedure
RunProgram("rundll32.exe", "user32.dll,UpdatePerUserSystemParameters", GetSystemDirectory() , 0)
Code von hier :
http://board.gulli.com/thread/1314238-d ... l-ndern/2/
Gruß ZIM
Verfasst: 08.02.2009 16:57
von Kaeru Gaman
mal ne blöde Frage....
warum kein Import auf die Funktion und direkt aufrufen?
warum über die rundll32.exe?
Verfasst: 10.02.2009 14:26
von The_Dark_Zim-.-
Wie würde das denn gehen ?
Kannst ja mal Code schicken
Gruß ZIM
Verfasst: 13.02.2009 14:49
von The_Dark_Zim-.-
Hey Ho
Der Code :
Code: Alles auswählen
Procedure.s GetSystemDirectory()
Path.s=Space(501)
GetSystemDirectory_(@Path,500)
ProcedureReturn Path
EndProcedure
RunProgram("rundll32.exe", "user32.dll,UpdatePerUserSystemParameters", GetSystemDirectory() , 0)
Scheint unter Vista nicht zu laufen... Wie könnte ich das zum laufen bekommen ?
Gruß ZIM
Verfasst: 13.02.2009 14:59
von ts-soft
> Wie könnte ich das zum laufen bekommen ?
Ich kann die Funktion in der DLL nicht finden, also wohl eher garnicht. Was
soll es denn machen?
Verfasst: 13.02.2009 17:54
von The_Dark_Zim-.-
@ts-soft
es soll das hintergrundbild aktuallisieren
so gehts unter Vista:
Code: Alles auswählen
CreateFile(0,"refresh.bat")
WriteString(0,"RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters")
CloseFile(0)
RunProgram("refresh.bat")
Delay(500)
DeleteFile("refresh.bat")
Kann man das nicht anders machen ?
Verfasst: 18.02.2009 16:46
von The_Dark_Zim-.-
Hey Ho hab gerade noch ein wenig getestet. Scheinabr geht das doch.
Code: Alles auswählen
Procedure.s GetSystemDirectory()
Path.s=Space(501)
GetSystemDirectory_(@Path,500)
ProcedureReturn Path
EndProcedure
RunProgram("rundll32.exe", "user32.dll,UpdatePerUserSystemParameters", GetSystemDirectory() , 0)
Irgentwie muss ich es aber erst mit einem *.BMP machen, ist aber sicher ein bug in meiner software.
Gruß ZIM