Externes Programm starten und ausführen in. Zuweisen
-
- Beiträge: 16
- Registriert: Mo 10. Mai 2010, 15:11
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hannover
Externes Programm starten und ausführen in. Zuweisen
Hallo,
ich möchte ein externes programm starten, das klappt auch. Mit shellexecute.
Wie kann ich jetzt aber noch den ort zu weisen? z.b. Ausführen in y:\ordner
Lg
Olli
ich möchte ein externes programm starten, das klappt auch. Mit shellexecute.
Wie kann ich jetzt aber noch den ort zu weisen? z.b. Ausführen in y:\ordner
Lg
Olli
Re: Externes Programm starten und ausführen in. Zuweisen
Weiss nicht genau was du meinst.
Mit TProcess kannst du das Arbeitsverzeichnis setzten
http://www.freepascal.org/docs-html/fcl ... ocess.html" onclick="window.open(this.href);return false;
http://www.freepascal.org/docs-html/fcl ... ctory.html" onclick="window.open(this.href);return false;
S.a: http://wiki.lazarus.freepascal.org/Exec ... rograms/de" onclick="window.open(this.href);return false;
Mit TProcess kannst du das Arbeitsverzeichnis setzten
http://www.freepascal.org/docs-html/fcl ... ocess.html" onclick="window.open(this.href);return false;
http://www.freepascal.org/docs-html/fcl ... ctory.html" onclick="window.open(this.href);return false;
S.a: http://wiki.lazarus.freepascal.org/Exec ... rograms/de" onclick="window.open(this.href);return false;
-
- Beiträge: 16
- Registriert: Mo 10. Mai 2010, 15:11
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hannover
Re: Externes Programm starten und ausführen in. Zuweisen
Ich möchte nur parameter übergeben.
Wenn du dir eine verknüpfung anguckst steht da ausführen in.
Das möchte ich zuweisen. Mit shellexecute.
ShellExecute(0, nil, PChar('C:\programme\mozilla firefox\firefox.exe'),nil,nil,SW_SHOWNORMAL); Hier muss irgendwo currentdirctory oder Cdirectory rein. Nur wie?
Danke für deine antwort.
Lg Olli
Wenn du dir eine verknüpfung anguckst steht da ausführen in.
Das möchte ich zuweisen. Mit shellexecute.
ShellExecute(0, nil, PChar('C:\programme\mozilla firefox\firefox.exe'),nil,nil,SW_SHOWNORMAL); Hier muss irgendwo currentdirctory oder Cdirectory rein. Nur wie?
Danke für deine antwort.
Lg Olli
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Externes Programm starten und ausführen in. Zuweisen
ShellExecute ist nur unter Windows verfügbar; plattformunabhängig bist du mit ExecuteProcess.
Wenn die Dokumentation zu ShellExecute nichts her gibt, muss dein Programm zuerst in das entsprechende Verzeichnis wechseln:
Wenn die Dokumentation zu ShellExecute nichts her gibt, muss dein Programm zuerst in das entsprechende Verzeichnis wechseln:
Code: Alles auswählen
var olddir: String;
olddir := GetCurrentDir;
SetCurrentDir('/hier/soll/programm/ausgeführt/werden');
ExecuteProcess('C:/abc.exe',['param1','param2']);
SetCurrentDir(olddir);
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 16
- Registriert: Mo 10. Mai 2010, 15:11
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hannover
Re: Externes Programm starten und ausführen in. Zuweisen
Ok. Vielen dank.
Ich bin leider erst montag wieder auf der arbeit. Dann werde ich das ausprobieren.
Ich gebe dann rückmeldung. Natürlich auch wenn es funktioniert.
Mein problem ist, das ein programm xyz gestartet wird ich dann aber die fehlermeldung bekomme ordner xyz nicht gefunden.
Daher gehe ich davon aus,das ich den auszuführenden ordner bei diesem programm angeben muss. Sonst findet es den ordner nicht.
Ich probiere es montag.
Ich bin leider erst montag wieder auf der arbeit. Dann werde ich das ausprobieren.
Ich gebe dann rückmeldung. Natürlich auch wenn es funktioniert.
Mein problem ist, das ein programm xyz gestartet wird ich dann aber die fehlermeldung bekomme ordner xyz nicht gefunden.
Daher gehe ich davon aus,das ich den auszuführenden ordner bei diesem programm angeben muss. Sonst findet es den ordner nicht.
Ich probiere es montag.
-
- Beiträge: 16
- Registriert: Mo 10. Mai 2010, 15:11
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hannover
Re: Externes Programm starten und ausführen in. Zuweisen
Socke!!! Danke Socke.
Es funktioniert.
Lg Olli
Es funktioniert.
Lg Olli
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Externes Programm starten und ausführen in. Zuweisen
Ohje, was fürn hässlicher Workaround ... dann doch lieber ShellExecute richtig nutzen:
http://msdn.microsoft.com/en-us/library/bb762153(VS.85" onclick="window.open(this.href);return false;).aspx
http://msdn.microsoft.com/en-us/library/bb762153(VS.85" onclick="window.open(this.href);return false;).aspx
Code: Alles auswählen
ShellExecute(0, nil, 'firefox.exe', nil, 'C:\programme\mozilla firefox\', SW_SHOWNORMAL);
-
- Beiträge: 16
- Registriert: Mo 10. Mai 2010, 15:11
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hannover
Re: Externes Programm starten und ausführen in. Zuweisen
Was ist der unterschied?
Ich starte programme vom server. Auf 12 clients.
Lg Olli
Ich starte programme vom server. Auf 12 clients.
Lg Olli
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Externes Programm starten und ausführen in. Zuweisen
Sieht vielleicht hässlich aus, ist dafür Platformunabhängig. Unter Linux/Unix ist es ausreichend, wenn der fork vor dem ausführen in das entsprechende Verzeichnis wechselt (siehe entsprechenden Code in der Include-Datei).Hitman hat geschrieben:Ohje, was fürn hässlicher Workaround ... dann doch lieber ShellExecute richtig nutzen
Wie und ob etwas vergleichbares für Windows vorhanden ist, weiß ich nicht.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 16
- Registriert: Mo 10. Mai 2010, 15:11
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hannover
Re: Externes Programm starten und ausführen in. Zuweisen
Es funktioniert.
Aber ich werde das doch nochmal mit shellexecute probieren.
Aber ich werde das doch nochmal mit shellexecute probieren.