Avatar billede testpilot_dk Nybegynder
04. april 2006 - 15:48 Der er 15 kommentarer og
1 løsning

Process og dens parametre

Hej!

Jeg har en process som jeg ønsker at kører fra mit program, processen kører på sin hvis fint nok, men de parametre som jeg sender med, bliver ikke taget fra det korrekte sted og programmet fejler.


            File.Copy("_CABWIZ.EXE", Dir + "\\CABWIZ.EXE", true);
            File.Copy("CABWIZ.DDF", Dir + "\\CABWIZ.DDF", true);
            File.Copy("MAKECAB.EXE", Dir + "\\MAKECAB.EXE", true);
            string fil = Dir + "\\CABWIZ.exe";
            string arg = Dir + ".inf";
            System.Diagnostics.Process.Start(fil, arg);

Jeg får fejlen at Dir + ".inf" ikke eksistere i mappen Debug fra dette program!

Jeg ville jo mene at jeg starter processen direkte i mappen og derfor vil en mappe angivelse ikke være nødvendig, hvordan undgår jeg det!

Jeg ved at min inf fil ligger samme sted som CABWIZ.exe
Avatar billede spif2001 Nybegynder
04. april 2006 - 15:51 #1
".inf" er vel ikke en fil?

Skal den ikke hedde noget mere?

A la "navn.inf"?
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 15:53 #2
min fil hedder Dir, hvilket er navnet på mappen og .inf til efter navn, så det er rigtig nok
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 15:54 #3
det virker som om programmet stadig mener at jeg står i mappen, hvor min exe fil er selvom jeg kører programmet fra den næste mappe!
Avatar billede spif2001 Nybegynder
04. april 2006 - 15:55 #4
hmmm... - anyway

Environment.CurrentDirectory er det directory hvor din process startede.
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 15:57 #5
hvor skal jeg skrive det henne!
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 16:00 #6
hvordan ændre jeg det bibliotek, for den starter i det forkerte bibliotek så!

Den starter der ved min egen exe fil
Avatar billede spif2001 Nybegynder
04. april 2006 - 16:01 #7
Hvis Dir + "\\CABWIZ.exe" er din fulde sti til den process du vil starte - og den starter siger du jo - så må et eksempel være:

string Dir = "c:\\Hej"

fil bliver til "c:\\Hej\\CABWIZ.exe"

arg bliver til "c:\\Hej\\.inf"

Den sidste kan jeg altså ikke få til at stemme...
Avatar billede spif2001 Nybegynder
04. april 2006 - 16:08 #8
undskyld - den sidste bliver til "c:\\Hej.inf"
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 16:08 #9
nej sådan her!

string Dir = "C:\\Hej"
fil bliver til "C:\\Hej\\Cabwiz.exe"
arg bliver til "hej.inf"

hvilket burde virke da jeg forventer at cabwiz søger i eget bibliotek ?

og da hej.inf eksistere i C:\\Hej, så burde det vel gå fint nok
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 16:08 #10
Dir er kun fil navnet, på mappen!
Avatar billede spif2001 Nybegynder
04. april 2006 - 16:10 #11
Hvis filerne skal ligge samme sted, må du kalde arg sådan:

string arg = Dir + "\\" + Dir + ".inf";
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 16:10 #12
Hvis jeg har mit program!

det ligger pt i project\debug mappen

min cabwiz.exe ligger i project\debug\hej
jeg ønsker at kører det program, med denne placering og ikke følgende placering
                          project\debug
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 16:11 #13
filerne ligger samme sted!

Derfor mener jeg også at min metode er god nok, jeg kan bare ikke få det der Environment.CurrentDirectory til at ændre til mappen hej
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 16:28 #14
Jeg har løst den, ved at gører følgende

            File.Copy("_CABWIZ.EXE", Dir + "\\CABWIZ.exe", true);
            File.Copy("CABWIZ.DDF", Dir + "\\CABWIZ.ddf", true);
            File.Copy("MAKECAB.EXE", Dir + "\\MAKECAB.exe", true);
            string fil = "CABWIZ.exe";

            Process process = new Process();
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.FileName = fil;
            process.StartInfo.Arguments = "install.inf";
            process.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\" + Dir;
            process.Start();
Avatar billede testpilot_dk Nybegynder
04. april 2006 - 16:29 #15
tak for hjælpen til at lede mig på vej, vil du have point også, så synes jeg vi skal dele
Avatar billede spif2001 Nybegynder
04. april 2006 - 18:30 #16
nej behold dem bare :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB