09. april 2001 - 13:34Der er
7 kommentarer og 1 løsning
Køre Dos Program/kommandoer
Normalt kan man køre en batch/dos fil via shell kommandoen, men hvordan finder man ud af hvornår det kaldte program er slut, så VB programmet kan fortsætte sin kode?
Alternativt, kan man skrive dos kommandoen inde i VB programmet, i stedet for at bruge shell kommandoen?
Du kan evt. bruge ShellExecute API kaldet til at starte dit DOS program. ShellExecute returnerer et handle til det vindue, dit DOS program kører i. Så kan du starte en timer, der med passende mellemrum tjekker, om det vindue stadig eksisterer - når det ikke eksisterer længere, er DOS programmet afviklet.
Til driis: kan du evt. lave et eksempel, for jeg synes ikke jeg kan bruge MSDN hjælpen særlig meget? Hivs du kender svaret med DOS kommandoen i VB må du meget gerne besvare dette også?
Hmm, jeg er ikke sikker på, at mit første svar virker, det var bare en øjeblikkelig indskydelse. Jeg har lige været ved at forsøge at få det til at virke, umiddelbart uden resultat. Men jeg kan ikke lige se, hvorfor det ikke virker.
On Error Goto NoGood Do NoGood: DoEvents Sleep 200 Open \"c:\\route.tmp\" For Input As 1 Input #1,buffer Close 1 Loop Until buffer=\"routecomplete\" On Error Resume Next Kill \"c:\\route.tmp\" On Error Goto 0
Det der sker, er at når route - kommandoen i BAT filen er udført, så skrives en midlertidig fil med indholdet \'routecomplete\'. Dit VB program skal så bare have en løkke, der tjekker om den midlertidige fil eksisterer, og om den indeholder strengen \'routecomplete\'. Når programmet fortsætter, skal det selvfølgelig sørge for at slette den midlertidige fil igen.
Synes godt om
Ny brugerNybegynder
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.