Entwickler-Ecke

Windows API - shellexecute funktoniert unter Win7, aber nicht unter XP


sa2728 - Fr 04.03.11 10:47
Titel: shellexecute funktoniert unter Win7, aber nicht unter XP
Hallo,

ich habe ein kleines Tool, welches ich unter XP und Windows 7 nutze.
Dort habe ich einen Aufruf:

shellexecute(0,NIL,'lusrmgr.msc',NIL,NIL,SW_NORMAL);

Wenn ich das Tool unter Windows 7 starte ist alles OK, unter XP passiert nichts.
Egal ob ich das Delphi 2009 Script unter XP oder Win 7 compiliere.

Komisch ist auch, dass z.B. der Aufruf
shellexecute(0,NIL,'ncpa.cpl',NIL,NIL,SW_NORMAL);
sowohl unter XP als auch unter Windows 7 funktioniert.

Wenn ich unter XP unter Start - ausführen den Befehl direkt eingebe, funktioniert er jedoch.

Hat jemand eine Idee?

Gruss Andreas


jaenicke - Fr 04.03.11 10:55

Wenn du als Operation nil, also nichts, angibst, worüber wunderst du dich denn? :roll:
Wie wäre es z.B. mit 'open'?

Aber davon abgesehen funktioniert der Aufruf in diesem Fall unter XP sicher trotzdem, das wird wohl eher an dem XP-System liegen.


sa2728 - Fr 04.03.11 11:34

Mit shellexecute(0,'open','lusrmgr.msc',NIL,NIL,SW_NORMAL) funktioniert es dort auch nicht.

Habe es noch auf einem anderen Rechner versucht.
Da es dort geht liegt es wohl an meinem XP Rechner, Reboot half auch nichts.

Frage hat sich somit erledigt.

Andreas


jaenicke - Fr 04.03.11 13:16

Was du machen willst ist doch wohl das Ding in der Management Console zu öffnen, oder?

Dann schreib das doch gleich direkt richtig hin:

Delphi-Quelltext
1:
ShellExecute(0'open''mmc.exe''lusrmgr.msc'nil, SW_NORMAL);