[VB2008]Jak zmienić skrypt z konsoli po aplikacji okienkowej

Cześć, znalazłem taki skrypt napisany w Virtual Basic pod konsole, ale potrzebuje go w aplikacji okienkowej.

Skrypt ma za zadanie wypisać wszystkie procesy i wyświetlić czas ile pracują.

Imports System.Diagnostics


Module Module1

    Sub Main()

        Dim AllProcesses() As Process = Process.GetProcesses()


        For idx = 0 To AllProcesses.Length - 1

            Try

                Dim ProcessTime As TimeSpan = New DateTime(Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, Now.Second) - AllProcesses(idx).StartTime 'Obliczenie czasu pracy procesu (Czas który jest teraz - czas startu procesu)


                Console.Write(AllProcesses(idx).ProcessName & " ")

                Console.WriteLine(ProcessTime)

            Catch Ex As ComponentModel.Win32Exception

                Console.WriteLine(AllProcesses(idx).ProcessName & " brak dostępu!")

            End Try

        Next


        Console.ReadKey(True)

    End Sub

End Module

Musisz stworzyć nową aplikację w WinForms lub WPF.

File/New/Project -> Other Languages/Visual Basic/Windows -> Windows Forms Application.

Najprościej chyba byłoby: - wrzucić na formę TextBox (Toolbox/CommonControls/TextBox) - dodać do formy event Load (Properties/Events(błyskawica)/Behavior/Load) - kod powinien wyglądać podobnie do:

Public Class Form1


	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


		Dim AllProcesses() As Process = Process.GetProcesses()


		For idx = 0 To AllProcesses.Length - 1

			Try

				Dim ProcessTime As TimeSpan = DateTime.Now - AllProcesses(idx).StartTime


				TextBox1.AppendText(AllProcesses(idx).ProcessName + " " + ProcessTime.ToString() + Environment.NewLine)

			Catch Ex As Exception

				TextBox1.AppendText(AllProcesses(idx).ProcessName + " brak dostępu!" + Environment.NewLine)

			End Try

		Next


	End Sub

End Class

Dzięki za odpowiedz o to właśnie mi chodziło :slight_smile: