Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB.NET: Tehtävienhallinta

ErroR++ [13.06.2011 14:35:07]

#

Eli ohjelma, joka kuvaa tehtävienhallintaa, jonka saat näkyviin painamalla CTRL+SHIFT+ESC.

Luo uusi projekti, tyypiksi Windows Forms Application, nimeltä tskmgr. Formin texti on "Tehtävienhallinta". Suurenna formia ja lisää siihen MenuStrip1, Label1, Button1, Button2 ja ListBox1 sekä MenuStrippiin lisää Tiedosto-valikko ja sen "alivalikkoihin" "Uusi Tehtävä" ja "Poistu". Laita Button1:sen textiksi "Sammuta Ohjelma" ja Button2:sen textiin "Etsi Ohjelmia".

Formin Koodi

Public Class Form1
    Dim texti As String 'texti-muuttuja
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick ' Kun ajasti tikittää...
Dim sele As Object
        sele = ListBox1.SelectedItem 'otetaan valittu jutska talteen
 Dim pList() As Process 'prosessilista
        Dim myProcess As System.Diagnostics.Process 'väliaikainen prosessimuuttuja
        pList = Process.GetProcesses 'pListiin kaikki prosessit
        ListBox1.Items.Clear() ' Tyhjennetään formin prosessit näyttävä lista
        For Each myProcess In pList
            ListBox1.Items.Add(myProcess.ProcessName) 'lisätään listaan 1 prosessi

        Next 'Seuraava prosessi
 Label1.Text = ("Ohjelmia on käynnissä yhteensä: " & ListBox1.Items.Count & ".") ' ohjelmien yhteismäärä ilmoitetaan label1:sessä
ListBox1.SelectedItem = sele 'Listan valittu jutska tallesta pois
    End Sub

    Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click 'Kun "Uusi Tehtävä" -valikkoa klikataan...
        runDialog.ShowDialog() 'Näytetään Dialogi mitä käsitellään myöhemmin
    End Sub

    Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click 'Kun klikataan "Poistu" -valikkoa...
        End '...poistutaan.
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Kun formia ladataan...
        Timer1.Start() 'ajastin Starttaa
       Dim pList() As Process 'prosessilista
        Dim myProcess As System.Diagnostics.Process 'väliaikainen prosessimuuttuja
        pList = Process.GetProcesses 'pListiin kaikki prosessit
        ListBox1.Items.Clear() ' Tyhjennetään formin prosessit näyttävä lista
        For Each myProcess In pList
            ListBox1.Items.Add(myProcess.ProcessName) 'lisätään listaan 1 prosessi

        Next 'Seuraava prosessi
 Label1.Text = ("Ohjelmia on käynnissä yhteensä: " & ListBox1.Items.Count & ".") ' ohjelmien yhteismäärä ilmoitetaan label1:sessä
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Kun klikataan "Sammuta ohjelma" -nappia...
        If ListBox1.SelectedItem = Nothing Then 'jos listasta ei ole valittuna yhtään ohjelmaa niin
            End 'poistutaan
        End If
        Dim proc As System.Diagnostics.Process 'prosessimuuttuja
        Dim pListi() As Process 'prosessilista
        pListi = Process.GetProcesses() 'pListiin kaikki prosessit
        For Each proc In pListi
            If proc.ProcessName = ListBox1.SelectedItem Then 'jos joku prosesseista on listaboxin valittu jutska niin
                Dim resp As String 'käyttäjän valinta muuttujassa
                resp = MsgBox("Haluatko sammuttaa " & proc.ProcessName & "?", _
vbYesNo, "Sammuta?") 'kysytään halutaanko prosessi varmasti lopettaa ja vastaus siirretään muuttujaan resp
                If resp = vbYes Then 'jos valinta on kyllä niin
                    proc.Kill() 'sammuttaa valitun ohjelman
                End If
                Exit Sub 'poistutaan tapahtumasta eli hypätään End Sub:iin
            End If
        Next 'seuraava prosessi
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Kun "Etsi Ohjelmia" -nappia klikataan...
        texti = InputBox("Anna ohjelman nimi:", "Etsi Ohjelmaa") 'texti-muuttuja (joka esiteltiin alussa) on inputBoxiin syötetty nimi
        If ListBox1.FindString(texti) <> -1 Then 'Jos ohjelma löytyy...
            MsgBox("Ohjelma " & texti & " on löydetty!", 64, "Löydetty") '...ilmoitetaan siitä!
            ListBox1.SelectedIndex = ListBox1.FindString(texti) 'Listan valittu jutska on etsityn ohjelman nimi
        Else 'muuten
            MsgBox("Ohjelmaa " & texti & " ei löytynyt.", vbOKOnly, "Ei löytynyt") 'ilmoitetaan että ohjelmaa ei löytynyt
        End If
    End Sub
End Class

Lisää Sitten Dialog nimeltä runDialog. Lisää sen textiin "Suorita". Lisää sille Label1, jonka texti on:
"Kirjoita avattavan tiedoston,
ohjelman tai internet-sivuston
nimi:"
Lisää sitten TextBox1 ja Button1 jonka texti on "Selaa...".
Lisää OpenFileDialog1 ja tyhjennä sen "FileName" -kohta.

runDialogin Koodi

Imports System.Windows.Forms 'Tuodaan jostain huitsista(eli .NET-Frameworkista) jotain

Public Class runDialog

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click 'Kun ok-nappia klikataan...
        Try '...yritä...
            Shell(TextBox1.Text, vbNormalFocus) '...avata textiboxin sisältämän polun ohjelma.
        Catch ex As Exception 'Jos epäonnistutaan...
            MsgBox("Ohjelmaa " & TextBox1.Text & " ei löytynyt.") '...ilmoitetaan siitä.
            Exit Sub'Ja poistutaan tapahtumasta.
        End Try 'No ei enää yritetä!
        Me.DialogResult = System.Windows.Forms.DialogResult.OK 'Joku hitsin DialogResultti on OK
        Me.Close() 'Sulkeudutaan
    End Sub

    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click 'Kun klikataan "Peruuta" -nappia...
        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel 'Joku hitsin DialogResultti on Cancel(peruuta)
        Me.Close() 'Sulkeudutaan
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Kun "Selaa" -nappia klikataan...
        OpenFileDialog1.ShowDialog() 'Tiedoston Avaus -Dialogi näytetään
        TextBox1.Text = OpenFileDialog1.FileName 'Textiboxin texti on filen avaus -Dialogin polku
    End Sub
End Class

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta