| |

Suche Visual-Basic CodeRe: Aufstarten von Exe begrenzen | |  | Autor: Tolwyn | Datum: 04.03.02 10:03 |
| Hi,
aha so wird schon einiges klarer...
damit hier stellst Du fest, ob ein Task noch läuft: (einfach in ein Modul kopieren)
Option Explicit
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As _
Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Const STILL_ACTIVE = &H103
Const PROCESS_ALL_ACCESS = &H1F0FFF
Public Function IsTaskActive(lTaskID As Long) As Boolean
Dim lHwnd As Long
Dim lExitCode As Long
lHwnd = OpenProcess(PROCESS_ALL_ACCESS, False, lTaskID)
Call GetExitCodeProcess(lHwnd, lExitCode)
Call CloseHandle(lHwnd)
IsTaskActive = IIf(lExitCode = STILL_ACTIVE, True, False)
End Function und so musst Du Deine Schleife abändern
' Array in dem wir uns die TaskIDs speichern
Private laTaskIDs() As Long
' eine Möglichkeit zum abbruch ist m,eist auch nicht verkehrt
Private bAbbort As Boolean
' Array für die TaskID's dimensioneieren
ReDim laTaskIDs(1 To 5)
Do While Not EOF(1)
' ...
' Dein Schleifencode
' ...
' ein kleiner zähler für mich
Static lNextTask As Long
Do
' wir bleiben so lange in der Schleife hier, bis einer der 5 Tasks
' verschwunden ist
DoEvents
lNextTask = lNextTask + 1
If lNextTask > 5 Then
lNextTask = 1
End If
If Not IsTaskActive(laTaskIDs(lNextTask)) Then
' Wenn dieser Task schon weg ist, dann einen neuen starten
laTaskIDs(lNextTask) = Shell("" + Irfan + " " + spalte1 + " " + Befehl _
+ _
"" + spalte1 + "" + ext2 + "")
'laTaskIDs(lNextTask) = Shell("C:WinNTNotepad.exe")
' und raus hier, damit wir mit dem nächsten weitermachen können
Exit Do
End If
Loop Until bAbbort
' ...
' Dein Schleifencode
' ...
Loop
Close #1 Gruß
Tolwyn |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|