[ johnnyc @ 07.06.2009. 15:14 ] @
Sve sto je potrebno je da moja aplikacija startuje jednu drugu aplikaciju (Recnik).


Aplikacija Recnik se vec nalazi na mom racunaru, i mogu naravno da ga pokrenem klikom na odgovarajucu shortcut ikonicu.

Properties shortcuta koji ga pokrece je sledeci:

Target type: Application
Target location: Office
Target: "C:\Program Files\Recnik\Office\MSACCESS.EXE" /runtime "C:\Program Files\Recnik\Recnik.mde"
Start in: "C:\Program Files\Recnik"


Problem je taj sto mi nikako ne polazi za rukom da pokrenem Recnik.exe upotrebom "standardnih" C# nacina pokretanja externih aplikacija.

Pokusavao sam naravno sa Process.Start, i dodeljivanjem parametara koji sam naveo nekoliko redova iznad, ali bez uspeha...

Da li mozete da mi pomognete oko ovoga? Hvala unapred!
[ mmix @ 07.06.2009. 15:35 ] @
koju gresku si dobijao iz process.start?
[ johnnyc @ 07.06.2009. 15:58 ] @
Iako imam dobro upisan path, dobijem gresku: The system cannot find the file specified

Moj code izgleda ovako:


Code:

MyClass.pr.StartInfo.WorkingDirectory = "C:/Program Files/Recnik";
//MyClass.pr.StartInfo.CreateNoWindow = false;
//"C:\Program Files\Recnik\Office\MSACCESS.EXE" /runtime "C:\Program Files\Recnik\Recnik.mde"
MyClass.pr.StartInfo.FileName = "\"C:/Program Files/Recnik/Office/MSACCESS.EXE\" /runtime \"C:/Program Files/Recnik/Recnik.mde\"";

try
{
    MyClass.pr.Start();
}
catch (Exception ex) {
    Console.WriteLine("ex: " + ex.ToString());
}



Problem mogu polovicno da resim ako direktno pozovem Recnik.mde, ali onda mi ponekad startuje Access a ponekad Recnik (pokrene ono sto sam poslednje bilo pokrenuto).

Posto je path dobar, predpostavljam da je greska u definisanju parametara koje korisnim koristim prilikom pokretanja procesa?
[ Sardon @ 08.06.2009. 09:03 ] @
Ako ti je korektna ova putanja sa "C:\Program Files\Recnik\Office\MSACCESS.EXE" (sumnjivo mi je ovo Recnik\Office, obicno je msaccess.exe u C:\Program Files\Microsoft Office\OFFICE1x\MaAccess.exe), sledeći kod bi trebao da ti radi:

// pretpostavljam da negde imaš
// System.Diagnostics.Process pr = new System.Diagnostics.Process();

pr.StartInfo.FileName = @"C:\Program Files\Recnik\Office\MSACCESS.EXE";

pr.StartInfo.Arguments = @"/runtime C:\Program Files\Recnik\Recnik.mde";

pr.StartInfo.WorkingDirectory = @"C:\Program Files\Recnik";

prc.Start();
[ johnnyc @ 08.06.2009. 10:19 ] @
Evo uspeo sam, proradilo je sa:


Code:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "\"C:\\Program Files\\Marvin\\Office\\MSACCESS.EXE\"";
startInfo.Arguments = "\"C:\\Program Files\\Recnik\\Recnik.mde\"";
startInfo.WorkingDirectory = "C:\\Program Files\\Recnik";



U svakom slucaju - hvala!