programujem aplikaciu v C#, kde sa snazim ovladat TrixBox (Linuxovy OS nainstalovany na vyrtualnej masine beziacej na Win. 7 ktora sluzi naprikal na sporostredkovanie VoIP).
V podstate dolezite je to ze sa snazim cez C# (tridu System.Diagnostics.ProcessStartInfo) vkladat do konzoli Trixboxu prikazy ale vyhodi vynimku({"The specified executable is not a valid application for this OS platform."}) pricom predpokladam ze mi to nebude fungovat na inom OS ako na Windows. Nie je to prekvapujuce kedze programujem v .Net Framework co je platforma pre Windows a trixbox je linuxovy OS. Cakal som ze mi to bude fungovat kedze mi to fungovalo napr. aj na cmd.exe
Pointa je ze by som sa potreboval poradit cez aku triedu v C# by som vedel pracvat s tymto Linuxovim trixboxom nainstalovanim na virtualnej masine alebo ako by som cez clasiku triedu (System.Diagnostics.ProcessStartInfo) vedel vkladat prikazy do konzli Trixboxu
prikladam ukazku kodu:
Kód: Vybrať všetko
//musi byt nainstalovana virtualna masina kde TrixBox bezi (kedze trix box je sam o sebe operacny system)
...
using System.Diagnostics;
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\Users\Marek\VirtualBox VMs\Trixbox\Trixbox.vbox"; // nastavenie cesty k trixboxu ktora sa spusta cez virtualnu masinu
// nasleduje nastavenie pre povolenie vkladania prikazov do CLI Trixboxu a povolenie pre odoberanie outputov
startInfo.RedirectStandardInput = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
// nasleduje samotne spustenie celeho procesu
Process p = new Process();
p = Process.Start(startInfo);
//Nasleduje cakanie vlakna na nabootovanie Trixboxu vo Virtualnej masine
Thread.Sleep(TimeSpan.FromMinutes(2.3));
// nasleduje riadok pre vlozenie prveho prikazu do konzoly trixboxu pri ktorom vyhodi vynimku ({"The specified executable is not a valid application for this OS platform."})
p.StandardInput.WriteLine(@"asterisk -r");
.....
....
vdaka