PHP Programm als angemeldeter Benutzer ausführen

ts7622

Ensign
Registriert
Aug. 2012
Beiträge
237
guten Abend,

ich versuche über system(), exec() usw. ein Programm (z.B. notepad) auszuführen, welches der Nutzer auch sehen kann. Der Apache Service läuft bereits unter dem angemeldeten Benutzer und system('notepad.exe') startet auch den Prozess unter diesem, aber ich sehe auf dem Bildschirm keine Notepad ...

Was mache ich falsch?

Gruß,
ts7622

(ich hoffe ich, dass ich das richtige Forum getroffen habe ;) ).
 
nope

23:17 Uhr
Hat keiner eine Idee?

notepad.exe wird als "admin" (aktuell angemeldeter Benutzer) ausgeführt, wird aber auf dem Desktop nicht angezeigt. Windows 7 ist übrigens das gemeinte OS.
 
Zuletzt bearbeitet:
Laut einem Kommentar auf Stack Overflow ist es nicht möglich eine interaktive Anwendung aus einem Dienst heraus zu starten. Das reine Starten scheint zwar zu funktionieren, aber bedienen lässt sie sich nicht.

Alternative 1:
Datenaustausch zwischen Dienst und Desktop zulassen.
service_to_desktop.png
Die Anwendung ist dann allerdings nur eingeschränkt auf einem isolierten "Desktop" nutzbar.

Alternative 2:
PHP als normale Anwendung nutzen. Das entsprechende Skript mit
Code:
"pfad/zur/php.exe" "pfad\zum\skript.php"
starten.

Alternative 3:
Eventuell reicht schon eine Batchdatei und PHP kann auf der Serverseite bleiben, wo es hingehört? ;)
 
Zuletzt bearbeitet: (Bessere Erklärung)
@ Kontrollfreak
Bei 1 läuft das ganze ja wieder übers System-Konto, will ich ja nicht. 2 und 3 läuft es ziemlich genau gleich ab. Ich versuche, wenn ich zu Hause bin, unter dem System-Konto mit der Datenaustausch-Option und dem runas-Befehl es unter dem Benutzerkonto anzeigen zu lassen.
 
Verrätst du uns, was genau du erreichen möchtest? Notepad.exe starten, sodass der Benutzer sie sieht, okay, und dann? Warum muss der Apache HTTP-Server den Prozess starten?
 
Zurück
Oben