Avatar billede nph12 Nybegynder
17. april 2006 - 10:22 Der er 7 kommentarer og
1 løsning

Vent til det forrige program er færdig

Hej
Hvordan kalder jeg et program i VB? Det næste program skal kaldes, når det forrige er færdig. Hvordan gør jeg det?

Tidlige spørgsmål:
http://www.eksperten.dk/spm/702968
Avatar billede kjulius Novice
17. april 2006 - 18:19 #1
Der findes flere måder at gøre det på, som bedre hjerner en min allerede har offentliggjort på nettet, bl.a.:

http://www.google.dk/search?hs=PMq&hl=da&q=shell+wait&btnG=S%C3%B8g&meta=
Avatar billede kjulius Novice
17. april 2006 - 18:27 #2
Jeg kom til at se i dit tidligere spørgsmål, at det er VB.NET du programmerer i, så derfor er de links der kom op i den Google søgning, jeg refererede til tidligere nok ikke helt relevant mere.

Denne her er sikkert bedre:

http://www.google.dk/search?hl=da&q=shell+wait+vb.net&btnG=S%C3%B8g&meta=
Avatar billede nph12 Nybegynder
17. april 2006 - 20:30 #3
Jeg er lige startet på Visual Basic, og har lavet nogle øvelser. De øveler jeg har lavet er fra Visual Basic .NET Grundbog bogen udgivet af Libris.

Det vil være en meget stor hjælp, hvis jeg lige få at vide, hvordan koden skal skrives (hvad skal jeg gøre inde i VB). De eksempler som er i bogen viser ikke noget om, hvordan man kalder et andet program og venter med at kalde det næste, når det forrige er færdig.
Avatar billede sjh Nybegynder
17. april 2006 - 22:57 #4
Hvis du lige går tilbage til dit tidlige spørgsmål.. så har du allerede koden:
http://www.vb-helper.com/howto_shell_wait.html

Private Sub Command1_Click()
ShellAndWait "C:\..\Porgram1.exe", vbNormalFocus
ShellAndWait "C:\..\Porgram2.exe", vbNormalFocus
ShellAndWait "C:\..\Porgram3.exe", vbNormalFocus
End Sub

Husk lige rasten af koden fra linket.. (download)
Avatar billede sjh Nybegynder
17. april 2006 - 23:04 #5
Den stump jeg henviser til er til Visual Basic 5/6 og IKKE Visual Basic.NET

ellers prøv at opret dit spørgsmål under den rigtige kategori.. hvis det er VB.NET
http://www.eksperten.dk/spm/Programmering/Visual-Basic-NET/
Avatar billede kjulius Novice
18. april 2006 - 00:10 #6
Hmm. ja der er jeg jo lidt handicappet, da jeg ikke har VB.NET Express installeret.

Der er så vidt jeg kan se to måder at gøre det på:

Den traditionelle, hvor man bruger Shell funktionen (den 3. parameter angiver, om der skal ventes):

Dim ProcessID As Long
ProcessID = Shell("C:\WINDOWS\SYSTEM32\CALC.EXE", AppWinStyle.Normal, True)
ProcessID = Shell("C:\WINDOWS\SYSTEM32\FREECELL.EXE", AppWinStyle.Normal, True)

og den lidt mere forfinede, hvor man bruger Process.Start:

Dim ShellProcess As New Process

ShellProcess.StartInfo.FileName = "C:\Windows\System32\CALC.EXE"
ShellProcess.StartInfo.UseShellExecute = True
ShellProcess.Start()
ShellProcess.WaitForExit()

ShellProcess.StartInfo.FileName = "C:\Windows\System32\FREECELL.EXE"
ShellProcess.StartInfo.UseShellExecute = True
ShellProcess.Start()
ShellProcess.WaitForExit()

ShellProcess.Dispose()


Dokumentationen for Shell finder du her:
http://msdn2.microsoft.com/en-us/library/xe736fyk(VS.80).aspx

Dokumentationen for Process finder du her:
http://msdn2.microsoft.com/en-us/library/system.diagnostics.process(VS.80).aspx

Mere specifikt er objektets metoder beskrevet her:
http://msdn2.microsoft.com/en-us/library/system.diagnostics.process_methods(VS.80).aspx

Da jeg ikke har VB.NET installeret og ikke har arbejdet med det, vil det i sagens natur til en vis grad være gætteri. Beklager...
Avatar billede nph12 Nybegynder
18. april 2006 - 17:03 #7
Jeg synes ikke rigtigt, at jeg kan få det til at køre under VB.NET. Jeg tror lige, at jeg flytter spørgsmålet til den rigtige katerogi. Er det OK?
Avatar billede nph12 Nybegynder
18. april 2006 - 18:50 #8
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
Kurser inden for grundlæggende programmering

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