Entwickler-Ecke
Windows API - Mehrere Parameter bei Shellexecute
CodeRed - Fr 22.04.05 20:42
Titel: Mehrere Parameter bei Shellexecute
hi!
hab schon gesucht, aber ich find einfach keine lösung, die funktioniert.
wie schon im titel erwähnt will ich ein programm starten und mehrere parameter übergeben.
ich mach das so:
Delphi-Quelltext
1:
| Shellexecute(handle,'open',pchar(ExtractFilePath(Application.ExeName)+'Programm.exe',pcahr('param1 param2'),nil,sw_show); |
ich bin mir ziemlich sicher, dass der erste parameter übergeben wird, der zweite jedoch nicht. vielleicht könnt ihr mir ja die zeile richtig posten...
MfG Thx
CodeRed
Moderiert von
matze: Delphi-Tags hinzugefügt.
demo88 - Fr 22.04.05 22:16
Ich mach das immmer so:
Delphi-Quelltext
1:
| Shellexecute(handle, 'open', pchar(ExtractFilePath(Application.ExeName)+'Programm.exe',pcahr('-param1 -param2'), nil, sw_show); |
fvolk - Sa 23.04.05 14:05
Zwischen beiden Varianten besteht kein Unterschied, es kommt eben darauf an, wie das Programm seine Parameter übergeben bekommen will. Unter Windows haben sich "/" sowie "-" durchgesetzt, unter Unix-System wird häufig "-" für einzelne Zeichen und "--" für Sinnbilder verwendet.
Aber zu deinem Problem:
| Zitat: |
| ich bin mir ziemlich sicher, dass der erste parameter übergeben wird, der zweite jedoch nicht. |
Das könnte daran liegen, dass der Code falsch ist. Folgendermaßen ruft man ShellExecute auf (vgl.
SHELLEXECUTE)
Delphi-Quelltext
1:
| ShellExecute(0, 'open', PChar(AUFZURUFENDE_DATEI), PChar(PARAMETER), nil, SW_SHOW); |
Alternativ kannst du auch die beiden
PChar in
PAnsiChar abändern (je nach Delphi-Version).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!