Rubrik: System/Windows · Prozesse/Tasks | VB-Versionen: VB6 | 29.11.10 |
Windows Aufgabe löschen Diese Funktion löscht eine bestimmte Windows-Aufgabe, die Sie zuvor als AT-Task angelegt haben. | ||
Autor: Dieter Otter | Bewertung: | Views: 7.658 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit diesem Tipp möchten wir unsere Reihe "Windows-Aufgaben" abschließen. Nachdem wir Ihnen gezeigt haben, wie man eine Windows-Aufgabe als AT-Task anlegen und deren Existenz prüfen kann, zeigen wir Ihnen mit nachfolgendem Code, wie man eine solche Aufgabe auch wieder löschen kann.
Fügen Sie nachfolgenden Code in ein Modul ein:
' Prüft, ob der angegebene Task ' in der Task-Planung von Windows existiert ' und löscht diesen anschließend aus dem Task-Planer. ' Geprüft wird hierbei nach dem Aufruf-Paramter (CommandLine) Public Function NTTaskDelete(ByVal sCmdLine As String, _ Optional ByVal sComputer As String = ".") As Long 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 ' Task löschen NTTaskDelete = oTask.Delete() 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" ' Task erstellen nResult = NTTaskCreate("D:\MyExe.exe backup", "20:40", True, _ EnumDays.Tuesday Or EnumDays.Thursday) ...
' Erstellten Task wieder löschen Dim nResult As Long nResult = NTTaskDelete(sCmdLine) If nResult <> 0 Then ' Fehler MsgBox "Fehlercode: " & CStr(nResult) & vbCrLf & _ "Der Task konnte nicht gelöscht werden!" End If
Mögliche Rückgabewerte:
0 | The request is accepted. |
1 | The request is not supported. |
2 | The user does not have the necessary access. |
8 | Interactive process. |
9 | The directory path to the service executable file cannot be found. |
21 | Invalid parameters have been passed to the service. |
22 | The account that this service runs under is invalid or lacks the permissions to run the service. |