C# - beh inej konzolovej app s parametrami

Programovacie jazyky, rady, poradňa...
Hippiek
Medium Star
Medium Star
Príspevky: 317
Registrovaný: 23 júl 2004, 1:39
Bydlisko: Woodstock
Kontaktovať používateľa:

C# - beh inej konzolovej app s parametrami

Príspevok od používateľa Hippiek »

Potreboval by som poradit ako mam urobit aby som cez aplikaciu v C# spustal konzolovu aplikaciu ale aj s parametrami.
skusal som to takto:

Kód: Vybrať všetko

            Process proc = new Process();
            proc.StartInfo.FileName = @"X:\Adresar\cons_app.exe parametre";
            proc.Start();
ale nefungovalo to, skusil som aj relativne aj absolutne cesty a nic..skusil som dat parametre aj do proc.startinfo.arguments a aj tak to neslo,
mohli by ste mi helfnut? alebo aspom hodit link kde sa tato problematika rozobera?

diky
ferks
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 105
Registrovaný: 03 okt 2005, 18:40
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa ferks »

dufam, ze netrepnem kktinu, ale ja sice v Delphi , ale spustam pomocou Win32 funkcie
ShellExecute, ktora je sucastou kniznice shellapi.h

nou mozes spustit akykolvek proces:

Kód: Vybrať všetko

HINSTANCE ShellExecute(

    HWND hwnd,	// handle to parent window
    LPCTSTR lpOperation,	// pointer to string that specifies operation to perform
    LPCTSTR lpFile,	// pointer to filename or folder name string
    LPCTSTR lpParameters,	// pointer to string that specifies executable-file parameters 
    LPCTSTR lpDirectory,	// pointer to string that specifies default directory
    INT nShowCmd 	// whether file is shown when opened
   );
nieco v style:

Kód: Vybrať všetko

ShellExecuteA(0,"open","X:\Adresar\cons_app.exe","parametre","X:\Adresar\", SW_SHOWDEFAULT);
kompletny vypis funkcie najdes v
Win32 Developer's References (WIN32SDK.HLP)
Hippiek
Medium Star
Medium Star
Príspevky: 317
Registrovaný: 23 júl 2004, 1:39
Bydlisko: Woodstock
Kontaktovať používateľa:

Príspevok od používateľa Hippiek »

nejako sa mi to nepodarilo vyriesit, tak som si spravil batch file a spustam ten cez tu aplikaciu, ...ale ak ma niekto riesenie ako tie parametre dat do aplikacie tak nech da vediet :) vdaka
ferks
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 105
Registrovaný: 03 okt 2005, 18:40
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa ferks »

Hippiek napísal:nejako sa mi to nepodarilo vyriesit, tak som si spravil batch file a spustam ten cez tu aplikaciu, ...ale ak ma niekto riesenie ako tie parametre dat do aplikacie tak nech da vediet :) vdaka
ty chces spustit aplikaciu s nejakymi parametrami ako napr winword.exe
alebo
chces vytvorit konzolovu aplikaciu kde by sa dali pouzivat parametre ???
Hippiek
Medium Star
Medium Star
Príspevky: 317
Registrovaný: 23 júl 2004, 1:39
Bydlisko: Woodstock
Kontaktovať používateľa:

Príspevok od používateľa Hippiek »

chcem napr nieco taketo:
mam aplikaciu ( s normalnym rozhranim), tam mam nejake to tlacitko na ktore ked kliknem tak by sa mala spustit externa konzolova aplikacia aj s nejakymi parametrami. (napr. sa spusti komprimacny subor ktory zazalohuje volaky iny subor).
trizzo
VIP
VIP
Používateľov profilový obrázok
Príspevky: 2927
Registrovaný: 26 sep 2004, 14:39

Príspevok od používateľa trizzo »

nastuduj si pekne MSDN, mas to tam.... nepotrebujes si definovat novu premennu z namespace Process.... skus to takto:

Kód: Vybrať všetko

System.Diagnostics.Process.Start ("ping.exe", "-t 10.131.0.15");
Process.Start ma tri overloady, ten druhy ma 2 parametre, prvym je proces, ktory chces nastartovat, druhym parametrom su argumenty, teda parametre tohto procesu...odskusaj si to.
Hippiek
Medium Star
Medium Star
Príspevky: 317
Registrovaný: 23 júl 2004, 1:39
Bydlisko: Woodstock
Kontaktovať používateľa:

Príspevok od používateľa Hippiek »

trizzo napísal:nastuduj si pekne MSDN, mas to tam.... nepotrebujes si definovat novu premennu z namespace Process.... skus to takto:

Kód: Vybrať všetko

System.Diagnostics.Process.Start ("ping.exe", "-t 10.131.0.15");
Process.Start ma tri overloady, ten druhy ma 2 parametre, prvym je proces, ktory chces nastartovat, druhym parametrom su argumenty, teda parametre tohto procesu...odskusaj si to.
ooo, presne toto som potreboval!!!! DIKYYY moc si mi pomohol :)
Hippiek
Medium Star
Medium Star
Príspevky: 317
Registrovaný: 23 júl 2004, 1:39
Bydlisko: Woodstock
Kontaktovať používateľa:

Príspevok od používateľa Hippiek »

hmm no a stale je ten problem, s tymi "windowsackymi cmdline" programami to funguje jedna radost ale s tou mojou nie.

snazim sa spustit konzolovu verziu komprimacneho programu 7zip.

Kód: Vybrať všetko

System.Diagnostics.Process.Start("X:\\adresar\\bin\\seven-zip.exe", "x SourceDir\\archiv.7z -oC:\\TargetDir -aoa");
prikazy maju urcite spravnu syntax pretoze ak ich v napisem "normalne" do programu tak vsetko funguje..ale tu nie..

(v prikaze som pouzil aj hentu absolutnu aj relativnu cestu)

Hmmm, asi je nemozne aby bola chyba v tej konzolovej aplikacii ktora brani pouzitiu na takyto ucel...to je asi nemozne ze..?
Rixsus
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 288
Registrovaný: 18 nov 2005, 19:40
Kontaktovať používateľa:

Príspevok od používateľa Rixsus »

no nevem mne to ide(aj 7-zip) ako napisal hippiek v pohode ...
nevem ... fakt mozno to nema rado siet :)
Hippiek
Medium Star
Medium Star
Príspevky: 317
Registrovaný: 23 júl 2004, 1:39
Bydlisko: Woodstock
Kontaktovať používateľa:

Príspevok od používateľa Hippiek »

Rixsus napísal:no nevem mne to ide(aj 7-zip) ako napisal hippiek v pohode ...
nevem ... fakt mozno to nema rado siet :)
prosim ta mohol by si spravit taku vec ze spravit jednu aplikaciu uplne jednoduchu taku kde si to skusal ze ti to funguje, aj s nejakym archivikom a cele to aj s projektom a vsetko potrebne poslat? by som ti bol VELMI vdacny ....prosim :)
trizzo
VIP
VIP
Používateľov profilový obrázok
Príspevky: 2927
Registrovaný: 26 sep 2004, 14:39

Príspevok od používateľa trizzo »

Kód: Vybrať všetko

System.Diagnostics.Process.Start(@"X:\adresar\bin\seven-zip.exe", @"x SourceDir\archiv.7z -oC:\TargetDir -aoa");
skus to tak..... apropo...X je lokalny disk, alebo remote, teda pripojeny ako zdielany? ak je zdielany na inom pc (serveri), skontroluj, ci mas opravnenie v danom adresari na spustanie exe suborov....
Hippiek
Medium Star
Medium Star
Príspevky: 317
Registrovaný: 23 júl 2004, 1:39
Bydlisko: Woodstock
Kontaktovať používateľa:

Príspevok od používateľa Hippiek »

trizzo napísal:

Kód: Vybrať všetko

System.Diagnostics.Process.Start(@"X:\adresar\bin\seven-zip.exe", @"x SourceDir\archiv.7z -oC:\TargetDir -aoa");
skus to tak..... apropo...X je lokalny disk, alebo remote, teda pripojeny ako zdielany? ak je zdielany na inom pc (serveri), skontroluj, ci mas opravnenie v danom adresari na spustanie exe suborov....
x je lokalny disk.
hento uz funguje ale iba je seven-zip.exe a aplikacia v jednom adresari a prikaz je..:........Start("seven-zip.exe", @"x SourceDir\archiv.7z -oC:\TargetDir -aoa");

no ale je to lepsie ako nic, takze este raz diky
Rixsus
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 288
Registrovaný: 18 nov 2005, 19:40
Kontaktovať používateľa:

Príspevok od používateľa Rixsus »

Hippiek napísal:prosim ta mohol by si spravit taku vec ze spravit jednu aplikaciu uplne jednoduchu taku kde si to skusal ze ti to funguje, aj s nejakym archivikom a cele to aj s projektom a vsetko potrebne poslat? by som ti bol VELMI vdacny ....prosim :)
ok posielam :)
Napísať odpoveď