Czy można uruchomić aplikację za pomocą GUI ze skryptu CGI (na Windows 7)?
Powiedzmy, że chcę wystartować Wideo Lan (VLC) . Jak mogę to zrobić?
Pierwsza próba: Próbowałem użyć exec
funkcja w Perlu. Mój skrypt CGI cgi-bin/Test.pl
:
#!C:\Perl64\bin\perl.exe
use strict;
use warnings;
print "Content-type: text/html\n\n";
exec qq("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe");
2. próba: Mój skrypt CGI cgi-bin/Test.pl
:
#!C:\Perl64\bin\perl.exe
use strict;
use warnings;
print "Content-type: text/html\n\n";
my @returnInfo = `C:\\Users\\Me\\Desktop\\Test.bat`;
print join("<br />", @returnInfo);
Mój C:\Users\Me\Desktop\Test.bat
:
start "" "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"
Niestety to nie działa. localhost:80/cgi-bin/Test.pl
trwa około 10 sekund i nic się nie pojawia.
Kiedy zaczynam Test.pl
i Test.bat
pojawia się ręcznie okno i wszystko działa poprawnie.
Spodziewam się, że powinienem użyć runas
polecenie (jak wspomniano tutaj ), ale pojawia się monit o hasło użytkownika Nie mogę wypełnić automatycznie.
/savecred
opcja dlarunas.exe
to zapisuje hasło. Więc możesz uruchomićrunas.exe
Polecenie, którego potrzebujesz raz, z tą opcją, a następnie Windows powinien użyć zapisanego hasła przy następnym wywołaniu polecenia.Windows 7 Home
iWindows 7 Starter Edition
(patrz dokumentacja).schtasks
dowództwo.