![]() |
AW: Starten einer Batch mit Shellexecute
Wenn du schreibst, dass du aus der durch Delphi geöffneten cmd heraus auch nicht auf die Batch zugreifen kannst, dann sieht das doch vielleicht nach einem Berechtigungsproblem aus. Läuft das Delphi-Programm vielleicht als anderer User, sodass das Problem mit der Tatsache, dass es eine Batch-Datei ist, eigentlich gar nichts zu tun hat?
Kannst du in dem cmd-Fenster, das durch dein Delphi-Programm geöffnet wurde, mit "cd" in das Verzeichnis wechseln? |
AW: Starten einer Batch mit Shellexecute
Zitat:
Der erste offensichtliche Fehler, der 90% aller Theorien hier zumindest vorerst zunichte macht ist, dass er PChar(PioEA) beim Aufruf von Shellexecute in Anführungszeichen gesetzt hat:
Delphi-Quellcode:
Die einzige weitere sinnvolle Bemerkung war, dass er (wenn er die Datei indirekt über cmd ausführt, statt direkt die Batchdatei auszuführen) ein "/C" vor den Dateinamen der .bat setzen muss.
shellExecute(0,
'open', 'cmd', 'PChar(PioEA)', // <---------- !! nil, SW_SHOW) Alles andere ist (unbegründete) Spekulation oder Offtopic :roll: |
AW: Starten einer Batch mit Shellexecute
Meine Vermutung (die aber erst mal nur eine Frage war) nehme ich aus seiner Fehlerbeschreibung. Und ich nehme weiter an, dabei wird er seine Batchdatei nicht auch noch mit den Anführungszeichen aufgerufen haben. :)
|
AW: Starten einer Batch mit Shellexecute
Hallo zusammen,
danke für die Hinweise. Das System ist Win7 prof. 64bit. Ich habe bei PCHar die Anführungszeichen weggelassen. Hat aber auch nicht geholfen bzw. bei der Version mit 'runas' kommt nun: "c:\windows\system32\devcon" konnte nicht gefunden werden. Stellen Sie sicher ... wiederholen Sie den Vorgang. Devcon liegt aber im angegeben Pfad!! Es ist wohl doch eher ein Rechteproblem von Win7 - aber wie kann man das lösen bzw. herausbekommen, ob es das ist? Eigentlich sollte es gehen, da ich auf dem PC als Admin angemeldet bin. Das mit /C vor CMD hatte ich auch schon versucht, hat aber nicht geholfen. Ich werde als nächstes testen, DEVCON direkt über ShellexecuteEx zu starten. |
AW: Starten einer Batch mit Shellexecute
Zitat:
|
AW: Starten einer Batch mit Shellexecute
ja ist schon klar dass das /C nach CMD stehen muss
hatte ich auch so gemacht |
AW: Starten einer Batch mit Shellexecute
Hallo,
wegen dem "c:\windows\system32\devcon" konnte nicht gefunden werden, das kann auch ein 32/64bit-Problem sein. Wenn man cmd aus einem 32bit-Prozess heraus startet, bekommt man eine 32bitiges cmd. Aus einem 64bit-Prozess aber ein 64bitiges cmd. Der Inhalt von "c:\windows\system32" ist bei 32bit ein anderer als bei 64bit. einbeliebigername. |
AW: Starten einer Batch mit Shellexecute
Hallo zusammen,
Letztlich führte Folgendes zum Erfolg. 1. direkter Start von DEVCON über shellexecute 2. DEVCON in mein Userverzeichnis verschoben und von dort gestartet (vorher stand es unter c:\windows\system32 -- Rechteproblem??) Danke und bis zum nächsten Mal in diesem tollem Forum!:-D Frank |
AW: Starten einer Batch mit Shellexecute
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz