---
title: "Starta och kontrollera bat fil?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/141782-starta-och-kontrollera-bat-fil"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "joxxe"
published: "2006-01-31T17:20:00.000Z"
updated: "2006-01-31T17:44:11.000Z"
replies: 1
views: 319
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/141782-starta-och-kontrollera-bat-fil"
---

# Starta och kontrollera bat fil?

## #1 — joxxe, 2006-01-31T17:20Z

Hur går jag lättast till väg för att starta en bat fil och sedan känna av när den har körts klart?
Startar den och tar processens pid och kollar mha en timer om processen fortfarande körs? Verkar ju iaf rätt bra, men hur går jag till väga för att koda detta.

Permalänk: https://www.webforum.nu/p/141782

## #2 — joxxe, 2006-01-31T17:44Z

Löste det faktiskt själv som jag sade efter lite googlande. Här är kode ja använde mig av:

Option Explicit
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private pid As Long
Private Const SYNCHRONIZE = &H100000
Private Const INFINITE = -1&

Private Sub Command1_Click()
pid = Shell("D:\\skolan\\vbleet\\add.bat", vbHide)
Print pid
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Dim process_handle As Long
process_handle = OpenProcess(SYNCHRONIZE, 0, pid)
    If process_handle \<\> 0 Then
        WaitForSingleObject process_handle, INFINITE
        CloseHandle process_handle
        MsgBox "klart"
    End If
End Sub

Kom på att ja inte ens behövde timern, men saken med detta är ju att programmet "hänger sig" medans det väntar...Kan jag inte bara i timern på ngt sätt kolla varje sekund om det körs eller inte utan att köra WaitForSingelObject()...
Eller ngt annat tips tack.

Permalänk: https://www.webforum.nu/p/1756454

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/141782-starta-och-kontrollera-bat-fil
