exec, kein fenster...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufruf
auslese
bedienen
bestimmte befehle
code
dank
datei
gleiche problem
hintergrund
interaktion
laufzeit
output
parameter
programm
start
steuer
string
tun
umweg
windows
-
wenn ich mit php exec eine exe öffne, wird diese nicht angezeigt. sie läuft zwar im hintergrund und kann datein schreiben etc. aber man kann sie nicht bedienen und bestimmte befehle wie tastaturanschläge simulieren kann sie auch nicht.
wenn ich eine bat öffne die das programm öffnet hab ich das gleiche problem.
wenn ich die exe via explorer oder die bat via explorer starte geht es.
php:
exec('start E:\Programmieren\projekte\mediamonkeyControl\plop.exe "param"');
exec('start D:\XamPP\xampp\htdocs\MediaMonkeyControl\machmalwas.bat');
bat:
D:\XamPP\xampp\htdocs\MediaMonkeyControl\openplop.exe "hans";
exit;
alternativ auch
cmd.exe /c D:\XamPP\xampp\htdocs\MediaMonkeyControl\openplop.exe "hans";
exit;
selbst wenn ich eine exe öffne die dann von sich aus eine 2.exe öffnet, hat diese 2.exe auch kein fenster/rechte.
alles funktioniert wenn man es via explorer öffnet.
brauch das ganze um via firefox und xampp den mediamonkey zu steuern.
in der php ini ist safe_mode = Off
danke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
wenn ich mit php exec eine exe öffne, wird diese nicht angezeigt. sie läuft zwar im hintergrund und kann datein schreiben etc. aber man kann sie nicht bedienen und bestimmte befehle wie tastaturanschläge simulieren kann sie auch nicht.
wenn ich eine bat öffne die das programm öffnet hab ich das gleiche problem.
Willkommen in der Welt der Kommandozeilen.
Du kannst keine Interaktion dieser Form machen, wie du es von einer graphischen Benutzeroberfläche kennst.
Hinzu kommt noch, dass du bei exec() nur Systemaufrufe hast, aber kein (falls es das unter Windows überhaupt gibt) stdin und stdout, das während der Laufzeit durch PHP empfang- und steuerbar ist.
Du könntest einen Umweg über eine Batch Datei machen, die ihre Ausgabe in eine neue Datei schreibt und mit PHP kannst du dann diese Datei auslesen.
edit: Ich habe gerade nochmal nachgesehen: Zumindest der Output lässt sich über einen 2. optionalen Parameter von exec abfangen:
string exec ( string command [, array &output [, int &return_var]] )
Der dritte Parameter enthält (falls angegeben) den return code des Aufrufs.
Beitrag geändert: 7.11.2007 19:17:15 von bladehunter -
danke
es geht mir ja nicht um die rückgabe der anwendungen ich will ja nur das sie laufen.
und das tun sie eben nur sehr beschränkt.
es muss doch möglich sein ein programm so zu öffnen das man es sieht oder ??
// nachtrag: hab gerade versucht mit einem von PHP geöffnetem programm custom-messages zu verschicken, was auch nicht geht.
was darf ein programm das von php ausgeführt wird?
Beitrag geändert: 7.11.2007 19:34:30 von madmatt -
madmatt schrieb:
es muss doch möglich sein ein programm so zu öffnen das man es sieht oder ??
Ähm mit sehen ist da nichts. Wie schon gesagt, man kann in der Komandozeile keine Maus drücken
Demzufolge wird der grafische Output unterdrückt.
Wenn also das Programm nichts zurückliefert oder in eine Datei schreibt, kannst du das vollkommen vergessen.
was darf ein programm das von php ausgeführt wird?
unter Linux alles was der "wwwuser" darf.
unter Windows ist das glaube ich der IUSR_Rechnername
Grüßle -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage