Programm nicht in der Taskliste anzeigen
[Windows 95/98]

02.02.1999


Hauptsächlich für Programme, die im Hintergrund laufen sollen,
ist es sinnvoll, das Beenden über die Taskliste (Ctrl+Alt+Entf)
zu verhindern !

Es ist möglich,
dass Ihr Programm erst gar nicht in der Liste erscheint !

ERFORDERLICHE OBJEKTE:

2 Commandbuttons (Command1, Command2)

FORM-CODE

Private Declare Function GetCurrentProcessId _
   Lib "kernel32" () As Long

Private Declare Function GetCurrentProcess _
   Lib "kernel32" () As Long

Private Declare Function RegisterServiceProcess _
   Lib "kernel32" (ByVal dwProcessID As Long, _
   ByVal dwType As Long) As Long

Sub Sichtbar_in_TaskListe(JaNein)
   Dim p As Long
   Dim ret As Long
   If JaNein Then x = 0 Else x = 1
   p = GetCurrentProcessId()
   regserv = RegisterServiceProcess(pid, x)
End Sub

Private Sub Command1_Click()
   'in der Taskliste sichbar
   Call Sichtbar_in_TaskListe(True)
End Sub

Private Sub Command2_Click()
   'nicht in der Taskliste sichbar
   Call Sichtbar_in_TaskListe(False)
End Sub

Private Sub Form_Load()
   Command1.Caption = "Sichtbar"
   Command2.Caption = "Unsichtbar"
End Sub

Um einen ähnlichen Effekt unter Windows NT zu erzielen,
können Sie auch die Anweisung
App.TaskVisible=False verwenden.
Dies bewirkt, dass ein laufendes Programm nicht mehr unter
"Anwendungen" sondern unter den "laufenden Prozessen" im
Windows NT Task-Manager angezeigt wird.
Nachteil daran:
Unter
Form_QueryUnload kann UnloadMode nicht mehr abgefangen werden,
wenn das Programm "abgewürgt" wird.

 

Download - 2 KB