NBAlex
1.5.2011, 15:10
Radim na jednom C# projektu, u kome mi se u jednom trenutku zahteva da pozovem eksternu aplikaciju PAK.EXE.
Ta eksterna aplikacija zahteva da u konzolu unesem naziv nekog .DAT fajla (PAK.exe i *.DAT fajlovi se nalaze u istom direktorijumu) i da 4 puta pritisnem ENTER (ova aplikacija PAK.exe radi odredjene operaciju u zavisnosti od DAT fajla i izbacuje 4 razna output fajla(zbog cega smo morali da pritisnemo ENTER)).
Moj C# kod koji sam koristio za pozivanje PAK.EXE aplikacije (pozivanje se dobro izvrsi):
public void RunPAKFile(string DATFileName)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
int lastBackslashLocation = DATFileName.LastIndexOf("\\");
string temp = DATFileName.Remove(lastBackslashLocation);
string pakFileLocation = temp + @"\pak.exe";
startInfo.FileName = pakFileLocation;
//startInfo.Arguments = DATFileName.Substring(lastBackslashLocation + 1) + "\r\n";
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = false;
try
{
using (Process process = Process.Start(startInfo))
{
process.WaitForExit();
}
}
catch (Exception)
{
throw;
}
}Taj PAK.EXE je aplikacija tipa cmd i sliku mozete videti ispod. Sta treba da dodam u mom kodu da bih mogao da automatski unosim ove vrednosti?(Posto je rec o optimizaciji iste vrednosti treba ukucati N puta, pa otuda ne mogu rucno da unosim vrednosti). Ja sam probao sa startInfo.Arguments ...ali ne pije vodu
Ta eksterna aplikacija zahteva da u konzolu unesem naziv nekog .DAT fajla (PAK.exe i *.DAT fajlovi se nalaze u istom direktorijumu) i da 4 puta pritisnem ENTER (ova aplikacija PAK.exe radi odredjene operaciju u zavisnosti od DAT fajla i izbacuje 4 razna output fajla(zbog cega smo morali da pritisnemo ENTER)).
Moj C# kod koji sam koristio za pozivanje PAK.EXE aplikacije (pozivanje se dobro izvrsi):
public void RunPAKFile(string DATFileName)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
int lastBackslashLocation = DATFileName.LastIndexOf("\\");
string temp = DATFileName.Remove(lastBackslashLocation);
string pakFileLocation = temp + @"\pak.exe";
startInfo.FileName = pakFileLocation;
//startInfo.Arguments = DATFileName.Substring(lastBackslashLocation + 1) + "\r\n";
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = false;
try
{
using (Process process = Process.Start(startInfo))
{
process.WaitForExit();
}
}
catch (Exception)
{
throw;
}
}Taj PAK.EXE je aplikacija tipa cmd i sliku mozete videti ispod. Sta treba da dodam u mom kodu da bih mogao da automatski unosim ove vrednosti?(Posto je rec o optimizaciji iste vrednosti treba ukucati N puta, pa otuda ne mogu rucno da unosim vrednosti). Ja sam probao sa startInfo.Arguments ...ali ne pije vodu