JV Skrevet 4. august 2008 Del Skrevet 4. august 2008 (endret) Hei Her har dere en liten del av koden min som skal starte ett program, la oss si notepad. Process proc = new Process(); proc.StartInfo.FileName = appTarget; proc.StartInfo.Arguments = appArgument; proc.StartInfo.WorkingDirectory = appWorkingdir; proc.StartInfo.UserName = userName; proc.StartInfo.Domain = domain; proc.StartInfo.Password = password; proc.StartInfo.UseShellExecute = false; if (windowStyle == "Maksimert") { proc.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; } else if (windowStyle == "Minimert") { proc.StartInfo.WindowStyle = ProcessWindowStyle.Minimized; Console.WriteLine("test"); } else if (windowStyle == "Skjult") { proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; } else { proc.StartInfo.WindowStyle = ProcessWindowStyle.Normal; } proc.Start(); Om variabeln windowStyle er satt til f.eks "Minimert" kommer "test" i consollet, men notepad starter uansett ikke minimert. Om jeg prøver å starte som noen av de andre vil den heller ikke gjøre annet enn å starte som normal. Noen som kan forstå hvorfor? Endret 4. august 2008 av JV Lenke til kommentar
BlueEAGLE Skrevet 4. august 2008 Del Skrevet 4. august 2008 (endret) Hvor er variabelen windowStyle deklarert og satt? Jeg foreslår at du skriver ut windowStyle før proc.Start() med f.eks System.Console.WriteLine(windowStyle); Dette er for å sjekke at windowStyle inneholder det du faktisk forventer at den skal inneholde. Endret 4. august 2008 av BlueEAGLE Lenke til kommentar
JV Skrevet 4. august 2008 Forfatter Del Skrevet 4. august 2008 (endret) Den er satt. Som du ser står det i konden at hvis windowStyle er satt til "Minimert" skal den sette riktig windowstyle PLUSS skrive "test" til consollet. Dette gjør den og da vil det også si at ProcessWindowStyle skal være satt til Minimized, men programmet åpnes ALLTID som Normal. Blir litt smårar av dette La til dette i koden nå for å se at alt så bra ut (for sikkerthet skyld). Console.WriteLine("windowStyle: " + windowStyle); Console.WriteLine("proc.StartInfo.WindowStyle: " + proc.StartInfo.WindowStyle.ToString()); Console.ReadLine(); Og det jeg fikk ut var følgende: windowStyle: Maksimert proc.StartInfo.WindowStyle: Maximized Altså, det BØR fungere, men notepad startet ikke opp maksimert. Endret 4. august 2008 av JV Lenke til kommentar
Icaro2 Skrevet 4. august 2008 Del Skrevet 4. august 2008 Den er satt. Som du ser står det i konden at hvis windowStyle er satt til "Minimert" skal den sette riktig windowstyle PLUSS skrive "test" til consollet. Dette gjør den og da vil det også si at ProcessWindowStyle skal være satt til Minimized, men programmet åpnes ALLTID som Normal. Blir litt smårar av dette La til dette i koden nå for å se at alt så bra ut (for sikkerthet skyld). Console.WriteLine("windowStyle: " + windowStyle); Console.WriteLine("proc.StartInfo.WindowStyle: " + proc.StartInfo.WindowStyle.ToString()); Console.ReadLine(); Og det jeg fikk ut var følgende: windowStyle: Maksimert proc.StartInfo.WindowStyle: Maximized Altså, det BØR fungere, men notepad startet ikke opp maksimert. Hei Sikkert en årsak til at du har satt UseShellExecute = false men er den satt til true eller fjernes så fungerer det. Nå er ikke jeg veldig kjent med dette men etter min tankegang så betyr UseShellExecute = false det samme som at den ikke skal motta noe argument men mulig jeg tar feil her. Knut Lenke til kommentar
Wubbable Skrevet 4. august 2008 Del Skrevet 4. august 2008 Hvor er variabelen windowStyle deklarert og satt? I .NET frameworket Lenke til kommentar
JV Skrevet 5. august 2008 Forfatter Del Skrevet 5. august 2008 (endret) *borte* Hei Sikkert en årsak til at du har satt UseShellExecute = false men er den satt til true eller fjernes så fungerer det. Nå er ikke jeg veldig kjent med dette men etter min tankegang så betyr UseShellExecute = false det samme som at den ikke skal motta noe argument men mulig jeg tar feil her. Knut Hei Mulig det fungerer om jeg fjerner eller setter den til true ja, men jeg kan ikke gjøre det, for da vil jeg ikke få kjørt kommandoen som en annen bruker, noe som fjerner hele poenget med applikasjonen Spørs om jeg bare nå legge fra meg å ha med mulighet for å velge windowstyle da, om ingen har noe gode forslag. Rart om det ikke fungerer pga UseShellExecute da jeg ikke klare å finne noe om dette når jeg søker litt rundt... Endret 6. august 2008 av JV Lenke til kommentar
BlueEAGLE Skrevet 6. august 2008 Del Skrevet 6. august 2008 Hvor er variabelen windowStyle deklarert og satt? I .NET frameworket Jeg tror du tar feil av string windowStyle og System.Diagnostics.Process.StartInfo.WindowStyle. Lenke til kommentar
JV Skrevet 6. august 2008 Forfatter Del Skrevet 6. august 2008 (endret) Hvor er variabelen windowStyle deklarert og satt? I .NET frameworket Jeg tror du tar feil av string windowStyle og System.Diagnostics.Process.StartInfo.WindowStyle. Kan se at den kan missforstås ja. Bør endre her.. fyfy å kun skille noe på stor eller liten bokstav... men det løser desverre ikke problemet mitt Edit: Nå har jeg egentlig skrellet bort alt av koden som har med WindowStyle å gjøre, dette pga at jeg ikke helt ser at jeg får løst det. Men for all del, om noen kan fortelle meg hvorfor det ikke funker og hvordan jeg evt. kan løse det skrivere jeg gjerne koden på nytt Endret 6. august 2008 av JV Lenke til kommentar
Alexen Skrevet 12. august 2008 Del Skrevet 12. august 2008 (endret) Kan du ikke bare jukse litt og bruke ShowWindow for å minimere vinduet rett etter oppstart? Declare Function ShowWindow Lib "user32" (ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer Dim Proc As New Process Proc.StartInfo.UseShellExecute = False Proc.StartInfo.WindowStyle = ProcessWindowStyle.Minimized Proc.StartInfo.FileName = "notepad" Proc.Start() ShowWindow(Proc.MainWindowHandle, 6) --- Er vbkode ja men satt akkurat å jobba med vb og gadd ikke skifte over Edit: Det der fungerte heller dårlig. MainWindowHandle returnerer 0 uten at jeg skjønner hvorfor. Det skal uansett la seg gjøre viss en slik løsning er aktuell for deg. Endret 12. august 2008 av The_Viper@EFNET Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå