Vor ein paar Tagen haben wir Ihnen einen Code vorgestellt, mit dem sich eigene Windows-Aufgaben im Windows-Taskplaner (Aufgabenplanung) erstellen lassen: Heute zeigen wir, wie man prüft, ob eine bestimmte Windows-Aufgabe (AT-Task) bereits existiert, damit diese nicht "aus Versehen" zweimal erstellt wird. Fügen Sie nachfolgenden Code in ein Modul ein: ' Prüft, ob der angegebene Task in der ' Task-Planung von Windows existiert ' ' Geprüft wird hierbei nach dem Aufruf-Paramter (CommandLine) Public Function NTTaskExists(ByVal sCmdLine As String, _ Optional ByVal sComputer As String = ".") As Boolean Dim oList As Object Dim oTask As Object ' Fehlerbehandlung On Error GoTo ErrHandler ' alle AT-Tasks durchlaufen Set oList = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ sComputer & "\root\cimv2").InstancesOf("Win32_ScheduledJob") For Each oTask In oList If LCase$(oTask.Command) = LCase$(sCmdLine) Then NTTaskExists = True End If Next ' Objekte freigeben Set oTask = Nothing Set oList = Nothing On Error GoTo 0 Exit Function ErrHandler: Set oTask = Nothing Set oList = Nothing End Function Aufrufbeispiel: ' Anwendung mit Aufrufparameter Dim sCmdLine As String sCmdLine = "D:\MyExe.exe backup" ' Prüfen, ob die Aufgabe bereits existiert If NTTaskExists(sCmdLine) Then MsgBox "Die Aufgabe existiert bereits!" Else ' Aufgabe existiert noch nicht... jetzt erstellen nResult = NTTaskCreate("D:\MyExe.exe backup", "20:40", True, _ EnumDays.Tuesday Or EnumDays.Thursday) If nResult <> 0 Then MsgBox "Fehler " & CStr(nResult) & vbCrLf & "Die Aufgabe konnte nicht erstellt werden!" Else MsgBox "Aufgabe wurde ordnungsgemäß erstellt!" End If End If Dieser Tipp wurde bereits 8.641 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
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. |