![]() |
Re: *.bat execute!?!
Ah, okay. Ich hab das damals immer mit Arrays of Char gelöst. Hatte mir extra mal ne Funktion geschrieben, um den "komplizierten" Aufruf von ShellExecute zu vereinfachen. :mrgreen:
Delphi-Quellcode:
PS: Ja, es heißt "compilieren". ;)
function ExecuteFile(Handle : HWND; FileName, Params : String) : Boolean;
Var Datei, Parameter : Array[0..800] of Char; Begin If FileExists(FileName) Then Begin StrPCopy(Datei,FileName); StrPCopy(Parameter,Params); ShellExecute(Handle,'open',Datei,Parameter,nil,SW_NORMAL); Result := true; End Else Result := false; End; |
Re: *.bat execute!?!
tja leddl... schlecht, wenn man nichts von PChar weiss. :mrgreen: :lol:
PChar gibt glaube ich die anfangsadresse des strings zurück, allerdings ohne den reference count zu erhöhen, was ja ideal für solche funktionsaufrufe ist. |
Re: *.bat execute!?!
Ich geb zu, daß ich von PChars nicht allzuviel weiß. Hauptsache, ich weiß, wie ich einen bekomm. :mrgreen:
Allerdings hab ich da dunkel irgendwas im Kopf, daß ich damals gezwungenermaßen auf das Array of Byte umgestiegen bin. Hab aber keine Ahnung mehr, was genau das war. |
Re: *.bat execute!?!
Ok Leute habe es nu so erstmal gelöst:
Delphi-Quellcode:
So nun geht es um einen ClanBot , er muss auf dem server einen GameServer starten mit Befehlszeile in etwa so "bla.exe -pwCLANWAR" ... habe versucht es so zu lösen:
ShellExecute(Application.Handle,PChar('open'),PChar('bla.exe'),PChar(0),nil,SW_NORMAL);
Delphi-Quellcode:
aber er öffnet die .exe nicht , denke ma die Befehlszeile muss extra "angemeldet" werden , jmd eine Idee ?!
ShellExecute(Application.Handle,PChar('open'),PChar('bla.exe -pwCLANWAR'),PChar(0),nil,SW_NORMAL);
Danke im Vorraus CC :-D |
Re: *.bat execute!?!
hi,
vielleicht so?
Delphi-Quellcode:
ShellExecute(Application.Handle,PChar('open'),PChar('bla.exe'),PChar('-pwCLANWAR'),nil,SW_NORMAL);
|
Re: *.bat execute!?!
Anscheinend haste dich nich sonderlich damit beschäftigt ;)
Denn - in deinem Fall - der 3. PChar-Parameter steht für die zu übergebenden Parameter. Daher mußt du diese eben auch genau dort übergeben, und nicht im Dateinamen. @urbanbruhin: Nich nur vielleicht, das sollte so klappen :mrgreen: |
Re: *.bat execute!?!
DA musst du dir mein erstes bsp. noch mal ansehen ;)
Delphi-Quellcode:
shellexecute(application.handle,
'open', PChar( extractfilepath(paramstr(0))+'1.bat'), '-bla - foo -bar x', //das hier ist es - verständlich, oder? ;) '', SW_HIDE) |
Re: *.bat execute!?!
Zitat:
CC :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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