Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Immer Ärger mit Microsoft-Updates (https://www.delphipraxis.net/18927-immer-aerger-mit-microsoft-updates.html)

Thoth777 26. Mär 2004 02:23


Immer Ärger mit Microsoft-Updates
 
Hi Folks,

ich versuche gerade in Delphi sowas wie nen Startprogramm für alles mögliche zu schreiben und dort sollen auch ein paar Microsoft Updates (z.B. Blaster-Wurm Patch) von gestartet werden. Nach langem hin und her konnte ich mir mit dem Shellexecute Befehl weiterhelfen, jedoch wenn ich versuche mehr als nur einen Parameter mit zu übergeben nimmt er gar keinen an.

Hier der Skript:
Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar('xpsp1a.exe'), PChar('-u -n -q -z'), PChar('E:\UpdateCD\Horus\UpdateCD\WU\Software\de\com_microsoft.windowsxp\x86WinXP\com_microsoft.XP_SP1_5446'), sw_ShowNormal);

Die Datei findet und startet er, nur die Parameter nimmt er nicht an, bei mehr als einen!
Hat jemand nen Wink mit dem Zaunpfahl der mir auf die Sprünge hilft?

mfg

Thoth 777

[edit=thomasdrewermann]Delphi-Tags ergänzt Mfg, thomasdrewermann[/edit]

NicoDE 26. Mär 2004 03:54

Re: Immer Ärger mit Microsoft-Updates
 
a) Es funktioniert gar nicht. Dann müßte folgendes auch nicht gehen:
Delphi-Quellcode:
program Project1;

uses
  Windows, ShellAPI;

begin
  if ParamCount() < 1 then
    ShellExecute(0, nil, PChar(ParamStr(0)), 'Hello World', nil, SW_SHOWNORMAL)
  else
    MessageBox(0, GetCommandLine(), 'foo', MB_ICONINFORMATION);
end.
b) Es funktioniert unter den Bedingungen nicht.
c) Das Programm ignoriert die Parameter.
Um zwischen b/c zu unterscheiden, kannst Du dieses Tool herunterladen und unter 'Environment' die Kommandozeile überprüfen.

Thoth777 26. Mär 2004 12:27

Re: Immer Ärger mit Microsoft-Updates
 
Das Tool ist super, danke.
Es wurden alle 4 Parameter in der CommandLine mit übergeben. Scheint soweit alles zu funzen.
Entweder habe ich gestern wohl zuviel oder zuwenig Pflanzenwirksame Teile genommen. :party: :spin2:

Der Fehler hat sich jedoch dennoch wieder gemeldet. Jedoch erst als ich eine änderung am Pfad vorgenommen hab. Sollte jedoch dennoch gehen, nur is wohl dochnicht.


Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar('xpsp1a.exe'), PChar('-u -n -q -z'), PChar('.\WU\Software\de\com_microsoft.windowsxp\x86WinXP\com_microsoft.XP_SP1_5446'), sw_ShowNormal);
Wenn ich mit eindeutigen Pfad arbeite macht er alles wie gewünscht (z.B. D:\WU). Sobald ich einen relativen Pfad(z.B. .\WU) nehme übergibt er die Parameter auch, nur ignoriert diese.

Hat da noch jemand eine Idee wie ich das umgehen kann?
Ich kann mir das fast nur noch erklären durch die Windows XP Cmd

mfg

Thoth 777

[edit=thomasdrewermann] Mfg, thomasdrewermann[/edit]

MathiasSimmack 26. Mär 2004 13:00

Re: Immer Ärger mit Microsoft-Updates
 
Zitat:

Zitat von Thoth777
Wenn ich mit eindeutigen Pfad arbeite macht er alles wie gewünscht (z.B. D:\WU). Sobald ich einen relativen Pfad(z.B. .\WU) nehme übergibt er die Parameter auch, nur ignoriert diese.

Hat da noch jemand eine Idee wie ich das umgehen kann?
Ich kann mir das fast nur noch erklären durch die Windows XP Cmd

Meine Erklärung wäre, dass das aktuelle Arbeitsverzeichnis anders gesetzt ist, nehmen wir an auf "c:\lastcrap", und die Funktion dann vergeblich nach einem Ordner "c:\lastcrap\wu\..." usw. suchen würde.

Umgehen könntest du das durch vorherige Zuweisung mit "SetCurrentDir".
Behaupte ich jetzt einfach mal. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz