Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi windows programm starten (https://www.delphipraxis.net/96711-windows-programm-starten.html)

Karg 29. Jul 2007 20:33


windows programm starten
 
hi @ all,
ich hab folgendes problem:
ich möchte ein windows-programm mit shellexecute starten. Das funktioniert auch soweit. Das programm liest nun sofort die computereigenschaften heraus und nun kann man diese in einer textdatei speichern.

Jetzt sind wir auch bei meinem problem:
denn ich möchte, dass es die eigenschaften gleich von alleine speichert, sobald ich das programm mit meinem delphiprogramm gestartet habe.
Ich glaube, dass sich das bei shellexecute mit weiteren parametern bewerkstelligen lässt.
Doch das krieg ich einfach nicht hin.

ich hoffe ich konnte mich einigermaßen klar ausdrücken, sodass ihr das problem verstanden habt.

es würde mich echt freuen, wenn mir einer weiterhelfen könnte,
gruß kargi

Luckie 29. Jul 2007 20:35

Re: windows programm starten
 
Zitat:

Zitat von Karg
Ich glaube, dass sich das bei shellexecute mit weiteren parametern bewerkstelligen lässt.

Riochtig. Und die gibst du im Paramter nach dem Programm an.

Zitat:

Doch das krieg ich einfach nicht hin.
Ja. Und nu? Was hast du denn schon?

mkinzler 29. Jul 2007 20:35

Re: windows programm starten
 
Das andere Programm müsste einen entsprechenden Parameter anbieten.

Jelly 29. Jul 2007 20:37

Re: windows programm starten
 
Du meinst also, du willst das Programm einfach so starten können, dann sollen die Eigenschaften manuell gespeichert werden. Wird das Programm jedoch über dein Delphi Programm gestartet, so sollen die Werte automatisch gepeichert werden.

Ich würde dem Programmaufruf einen Parameter mit übergeben (4. Parameter bei ShellExecute). Das aufgerufene Programm kann diesen Parameter beim Programmstart auswerten: Stichwort ParamCount und ParamStr

Karg 30. Jul 2007 11:42

Re: windows programm starten
 
ok, aber wie krieg ich raus, wie der parameter lautet????

Bis jemand postet, werd ich mir mal das mit paramstr anschauen....

auf jedenfall bedanke ich schonmal für die schnelle hilfe....

mkinzler 30. Jul 2007 11:45

Re: windows programm starten
 
Ob das programm, welches du Starten willst einen solche parameter besitzt und wie der ggf heißt kann man ohne das Programm zu kennen nicht sagen.

Karg 30. Jul 2007 12:08

Re: windows programm starten
 
das bedeutet, dass nicht alle programme einen parameter haben, oder wie???
und falls das programm einen parameter haben sollte, wie bekomme ich den dann raus???
ich hab es jetzt mal mit paramstr versucht, aber er gibt mir immer nur den pfad der datei an.
In der Hilfe steht, dass paramcount(0) bei paramstr den pfad angibt, und danach die entsprechenden parameter. allerdings scheint 0 die einzigste zahl bei paramcount zu sein.

heißt das jetzt, dass es keinen parameter für dieses programm gibt???

ich versuch es mal mit einem anderen programm, ob ich da paramter bekomme.

scrat1979 30. Jul 2007 12:19

Re: windows programm starten
 
Zitat:

Zitat von Karg
hi @ all,
ich hab folgendes problem:
ich möchte ein windows-programm mit shellexecute starten. Das funktioniert auch soweit. Das programm liest nun sofort die computereigenschaften heraus und nun kann man diese in einer textdatei speichern.

Jetzt sind wir auch bei meinem problem:
denn ich möchte, dass es die eigenschaften gleich von alleine speichert, sobald ich das programm mit meinem delphiprogramm gestartet habe.
Ich glaube, dass sich das bei shellexecute mit weiteren parametern bewerkstelligen lässt.
Doch das krieg ich einfach nicht hin.

ich hoffe ich konnte mich einigermaßen klar ausdrücken, sodass ihr das problem verstanden habt.

es würde mich echt freuen, wenn mir einer weiterhelfen könnte,
gruß kargi

Dies müsste gehen:

Delphi-Quellcode:
anwendung := 'c:\programme\test.exe';
paramter := '/p /a';
ShellExecute(Application.Handle,'open', PChar(anwendung), parameter, Nil, SW_Show);
Evtl. muss man die Anwendung inkl. Pfad in Hochkommata (") setzen, falls Leerzeichen enthalten sind. Bei den Parameter weiß ich es nicht --> testen.

SCRaT

Luckie 30. Jul 2007 12:20

Re: windows programm starten
 
Zitat:

Zitat von Karg
das bedeutet, dass nicht alle programme einen parameter haben, oder wie???

Richtig. Oder kann jedes deiner Programme mit Parametern gestartet werden, die es dann auswertet? Ob und welche Parameter das betreffende Programm verarbeiten kann, ist entweder der Hilfe zu entnehmen oder mit etwas Glück mit dem Parameter /?:
Code:
foobar.exe /?

Karg 30. Jul 2007 12:58

Re: windows programm starten
 
ok ich hab gerade gemerkt, dass bei paramstr immer nach den parametern vom eigenen delphi programm gesucht wird.
doch wie krieg ich das hin, dass es die parameter vom gestarteten programm ausliest???

Delphi-Quellcode:
for i := 0 to ParamCount do
    ShowMessage('Parameter '+IntToStr(i)+ '=' +ParamStr(i));


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr.
Seite 1 von 2  1 2   

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