vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Suche Visual-Basic Code
simple Taskverwaltung 
Autor: thelittle
Datum: 29.10.02 15:00

Hallo,
ich habe den Tipp "Alle laufenden Programme ermitteln" und den Tipp "Einen Prozess beenden" zusammengeworfen und daraus einen kleinen Taskmonitor gebastelt. Der Sinn ist, dem Anwender den von MS zu sperren und trotzdem die Möglichkeit zu geben, abgestürzte Programme zu killen. So weit, so gut. Das geht. Jetzt habe ich das Problem, das wenn ich z.B. 'Arbeitsplatz' oder 'Eigene Dateien' damit abschieße, diese den Explorer mitkillen, aber dass soll es ja nicht sein!!!
Wie muss denn der Code aussehen, dass das nicht passiert???
Danke

hier mal der function-Code aus dem Modul:

Public Function GetWindowList(oLSV As ListView, _
  Optional bVisible As Boolean = True)
 
  ' oLSV     - Ein beliebiges ListView, das die
  '            Informationen aufnehmen soll
  ' bVisible - Wenn True werden nur sichtbare Windows
  '             angezeigt, bei False  alles
 
  Dim sTitle    As String
  Dim oListItem As ListItem
 
  ' ListView-Spalten festlegen
  With oLSV.ColumnHeaders
    .Clear
    .Add , "hWnd", "hWnd"
    .Add , "TaskID", "TaskID"
    .Add , "Title", "Title"
    '.Add , "Visible", "Visible"
  End With
 
 
  ' Inhalt löschen und umschalten auf "Detail"-Ansicht
  oLSV.ListItems.Clear
  oLSV.View = lvwReport
 
  ' Erstes WindowHandle holen
  hwnd = GetWindow(oLSV.Parent.hwnd, GW_HWNDFIRST)
  Do
    ' Handle auswerten und im ListView eintragen
    lStyle = GetWindowLong(hwnd, GWL_STYLE)
    lStyle = lStyle And (WS_VISIBLE Or WS_BORDER)
    sTitle = GetWindowTitle(hwnd)
    lTaskID = GetWindowTaskID(hwnd)
    If (lStyle = (WS_VISIBLE Or WS_BORDER)) = bVisible Then
      ' in das ListView eintragen
    If sTitle <> "" Then 'Ausblenden von offenen Fenstern ohne Namen(z.B. 
    ' Windows-Taskleiste)
      Set oListItem = oLSV.ListItems.Add(, , hwnd)
      With oListItem
        .SubItems(1) = lTaskID
        .SubItems(2) = sTitle
       ' .SubItems(3) = lStyle = (WS_VISIBLE Or WS_BORDER)
      End With
    End If
   End If
    ' Nächstes Handle
    hwnd = GetWindow(hwnd, GW_HWNDNEXT)
  Loop Until hwnd = 0
 
 
End Function
 
Private Function GetWindowTaskID(ByVal hwnd As Long) _
  As Long
 
  ' Ermittelt die TaskID eines Windows anhand des
  ' Window Handle
 
  Dim lResult As Long
  Dim lTemp As Long
 
  lResult = GetWindowThreadProcessId(hwnd, lTemp)
  GetWindowTaskID = lTemp
 
End Function
Private Function GetWindowTitle(ByVal hwnd As Long) _
  As String
 
  ' Ermittelt den Namen eines Windows anhand des
  ' Window Handle
 
  Dim lResult As Long
  Dim sTemp As String
 
  lResult = GetWindowTextLength(hwnd) + 1
  sTemp = Space(lResult)
  lResult = GetWindowText(hwnd, sTemp, lResult)
  GetWindowTitle = Left(sTemp, Len(sTemp) - 1)
End Function
 
' Task beenden
Public Sub TerminateTask(hwnd As Long)
  Dim lhwnd As Long
  Dim lResult As Long
 
  lhwnd = OpenProcess(PROCESS_TERMINATE, 0&, hwnd)
  lResult = TerminateProcess(lhwnd, 1&)
  lResult = CloseHandle(lhwnd)
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
simple Taskverwaltung832thelittle29.10.02 15:00
Re: simple Taskverwaltung410Elwood29.10.02 20:50
Re: simple Taskverwaltung419thelittle30.10.02 07:13
Re: simple Taskverwaltung373E701.11.02 11:58

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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