vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Das Killer-Formular 
Autor: Manfred X
Datum: 29.06.15 20:55

Public Class frmProcessKiller
 
    Dim pd As New DataTable
 
    Dim dgv As New DataGridView With _
        {.Parent = Me, .Height = 300, .Width = 500}
 
    Dim WithEvents btnKill As New Button With _
        {.Parent = Me, .Text = "Kill", .Top = 320}
 
    Dim WithEvents btnRefresh As New Button With _
        {.Parent = Me, .Text = "Refresh", .Top = 320, .Left = 200}
 
 
    Private Sub frmProcessList_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(510, 370)
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
 
        With pd.Columns
            .Add("Kill", GetType(Boolean))
            .Add("PID", GetType(Integer))
            .Add("Name", GetType(String))
            .Add("Start", GetType(Date))
        End With
 
        For Each c As DataColumn In pd.Columns
            If Not c.ColumnName = "Kill" Then
                c.ReadOnly = True
            End If
        Next c
 
        Me.Show()
        My.Application.DoEvents()
 
        dgv.AllowUserToAddRows = False
        dgv.AllowUserToDeleteRows = False
 
        FillProcessTable()
    End Sub
 
 
 
    Private Sub btnKill_Click(sender As Object, _
        e As System.EventArgs) Handles btnKill.Click
 
        Dim Pid As Integer
        For Each r As DataRow In pd.Rows
            If DirectCast(r("Kill"), Boolean) = True Then
                Try
                    Pid = DirectCast(r("PID"), Integer)
                    Dim p As Process = Process.GetProcessById(Pid)
                    If p.ProcessName = r("Name").ToString And _
                       p.StartTime = CDate(r("Start")) Then
                        Try
                            p.Kill()
                        Catch ex As Exception
                            MsgBox("PID: " & Pid.ToString & "  " & ex.Message)
                        End Try
                    End If
                Catch ex As Exception
                    MsgBox(CStr(Pid) & " " & ex.Message)
                End Try
 
            End If
        Next r
        FillProcessTable()
    End Sub
 
 
    Private Sub FillProcessTable()
 
        Me.Text = "Liste der Prozesse wird erstellt - Bitte warten ..."
        btnKill.Enabled = False
        btnRefresh.Enabled = False
 
        dgv.DataSource = Nothing
        Me.Refresh()
 
        pd.Rows.Clear()
        For Each p As Diagnostics.Process In Diagnostics.Process.GetProcesses
            Try
                pd.Rows.Add("false", p.Id, p.ProcessName, p.StartTime)
            Catch
            End Try
        Next p
        dgv.DataSource = pd
        dgv.Refresh()
        btnKill.Enabled = True
        btnRefresh.Enabled = True
        Me.Text = "Prozessliste"
    End Sub
 
 
    Private Sub btnRefresh_Click(sender As Object, _
                    e As System.EventArgs) Handles btnRefresh.Click
        FillProcessTable()
    End Sub
End Class
Warnung: Beim Killen eines Prozesses gehen nicht gespeicherte Daten verloren
und bei Systemprozessen kann das System instabil werden.


Beitrag wurde zuletzt am 29.06.15 um 20:59:41 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Frage zu process.kill mit checklist1.637Tobias201429.06.15 14:12
Re: Frage zu process.kill mit checklist912Manfred X29.06.15 19:42
Re: Frage zu process.kill mit checklist949sv0001029.06.15 21:21
Re: Frage zu process.kill mit checklist925Manfred X29.06.15 21:32
Re: Frage zu process.kill mit checklist899Tobias201430.06.15 06:56
Das Killer-Formular969Manfred X29.06.15 20:55

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-2024 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