«

»

Lis 03

Wydrukuj to Wpis

Informacja o systemie za pomoc Visual Basic

Informacja-o-systemie

Ten projekt pokazuje jak używać SystemManagement, aby uzyskać podstawowe informacje systemowe w VB .NET.Program wyświetla informacje dotyczące systemu operacyjnego, pamięci RAM, procesora, karty graficznej i napędów. Żeby korzystać z SystemManagement musisz dodać go w „reference”.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Imports System.Windows.Forms
Imports System.Management
Imports Microsoft.VisualBasic.Devices
Public Class Form1
    Dim Info As New ComputerInfo
    Dim ProcInfo As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
    Dim VideoCont As New Management.ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_VideoController")
    Dim AdapterName As String = Nothing
    Dim Języki As String = Nothing
 
    Friend WithEvents Pole As System.Windows.Forms.ColumnHeader
    Friend WithEvents Wartość As System.Windows.Forms.ColumnHeader
 
    Friend WithEvents Dysk As System.Windows.Forms.ColumnHeader
    Friend WithEvents Typ_Dysku As System.Windows.Forms.ColumnHeader
    Friend WithEvents System_Plików As System.Windows.Forms.ColumnHeader
    Friend WithEvents Rozmiar_Całkowity As System.Windows.Forms.ColumnHeader
    Friend WithEvents Użyte_Miejsce As System.Windows.Forms.ColumnHeader
    Friend WithEvents Wolne_Miejsce As System.Windows.Forms.ColumnHeader
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Komputer()
    End Sub
 
    Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
        If e.Node.Text = "Komputer" Then LV.Clear() : Komputer()
        If e.Node.Text = "System" Then LV.Clear() : CH() : System()
        If e.Node.Text = "Pamięć" Then LV.Clear() : CH() : Pamięć()
        If e.Node.Text = "Dyski logiczne" Then LV.Clear() : Dyski_logiczne()
    End Sub
 
    Sub Komputer()
        CH()
        System()
        Pamięć()
        Dim Dyski As String = Nothing
        LV.Items.Add("Dyski")
        For Each Napęd As IO.DriveInfo In IO.DriveInfo.GetDrives
            Dyski &= Napęd.Name
        Next
        LV.Items(LV.Items.Count - 1).SubItems.Add(Dyski)
    End Sub
 
    Sub Dyski_logiczne()
        Dim i As Integer = 0
        Dysk = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        Typ_Dysku = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        System_Plików = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        Rozmiar_Całkowity = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        Użyte_Miejsce = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        Wolne_Miejsce = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        LV.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Dysk, Typ_Dysku, System_Plików, Rozmiar_Całkowity, Użyte_Miejsce, Wolne_Miejsce})
        Dysk.Text = "Dysk" : Dysk.Width = 150
        Typ_Dysku.Text = "Typ Dysku" : Typ_Dysku.Width = 150
        System_Plików.Text = "System Plików" : System_Plików.Width = 100
        Rozmiar_Całkowity.Text = "Rozmiar Całkowity" : Rozmiar_Całkowity.Width = 100
        Użyte_Miejsce.Text = "Użyte Miejsce" : Użyte_Miejsce.Width = 100
        Wolne_Miejsce.Text = "Wolne Miejsce" : Wolne_Miejsce.Width = 100
 
        For Each Napęd As IO.DriveInfo In IO.DriveInfo.GetDrives
            If Napęd.IsReady = True Then
                LV.Items.Add(Napęd.Name.Remove(1, 2) & " (" & Napęd.VolumeLabel & ")")
            Else
                LV.Items.Add(Napęd.Name.Remove(1, 2))
            End If
            Select Case Napęd.DriveType
                Case IO.DriveType.Fixed : LV.Items(i).SubItems.Add("Dysk Lokalny")
                Case (IO.DriveType.CDRom) : LV.Items(i).SubItems.Add("Napęd dysków optycznych")
                Case IO.DriveType.Network : LV.Items(i).SubItems.Add("Dysk Sieciowy")
                Case IO.DriveType.Removable : LV.Items(i).SubItems.Add("Dysk Wymienny")
                Case IO.DriveType.Unknown : LV.Items(i).SubItems.Add("Nieznany")
            End Select
 
            If Napęd.IsReady = True Then
                LV.Items(i).SubItems.Add(Napęd.DriveFormat.ToString)
                LV.Items(i).SubItems.Add(Math.Round((CDbl(Napęd.TotalSize / 1073741824)), 2) & " GB")
                LV.Items(i).SubItems.Add(Math.Round((CDbl((Napęd.TotalSize - Napęd.TotalFreeSpace) / 1073741824)), 2) & " GB")
                LV.Items(i).SubItems.Add(Math.Round(CDbl(Napęd.TotalFreeSpace / 1073741824), 2) & " GB")
            End If
            i += 1
        Next
    End Sub
 
    Sub Pamięć()
        '1 KB = 1024 B
        '1 MB = 1048576 B = 1024 KB
        '1 GB = 1073741824 B = 1048576 MB
        LV.Items.Add("RAM")
        LV.Items(LV.Items.Count - 1).SubItems.Add(Math.Round((CDbl(Info.TotalPhysicalMemory / 1073741824)), 2) & " GB")
 
        LV.Items.Add("Pamięć wideo")
        For Each Adapter As ManagementObject In VideoCont.Get
            LV.Items(LV.Items.Count - 1).SubItems.Add(Math.Round((CDbl(Adapter.GetPropertyValue("AdapterRAM").ToString() / 1048576)), 2) & " MB")
            AdapterName = Adapter.GetPropertyValue("Name").ToString
        Next
        LV.Items.Add("Nazwa karty")
        LV.Items(LV.Items.Count - 1).SubItems.Add(AdapterName)
    End Sub
 
    Sub System()
 
        LV.Items.Add("Nazwa komputera")
        LV.Items(LV.Items.Count - 1).SubItems.Add(My.Computer.Name)
        LV.Items.Add("Nazwa użytkownika")
        LV.Items(LV.Items.Count - 1).SubItems.Add(Environment.UserName)
 
        LV.Items.Add("System operacyjny")
        LV.Items(LV.Items.Count - 1).SubItems.Add(My.Computer.Info.OSFullName)
        LV.Items.Add("Platforma")
        LV.Items(LV.Items.Count - 1).SubItems.Add(My.Computer.Info.OSPlatform)
        LV.Items.Add("Wersja")
        LV.Items(LV.Items.Count - 1).SubItems.Add(My.Computer.Info.OSVersion)
        LV.Items.Add("Język")
        LV.Items(LV.Items.Count - 1).SubItems.Add(My.Computer.Info.InstalledUICulture.ToString)
        LV.Items.Add("Folder Windows")
        LV.Items(LV.Items.Count - 1).SubItems.Add(Environ$("windir"))
 
        LV.Items.Add("Aktywny układ")
        LV.Items(LV.Items.Count - 1).SubItems.Add(InputLanguage.CurrentInputLanguage.LayoutName)
        LV.Items.Add("Aktywny język wprowadzania")
        LV.Items(LV.Items.Count - 1).SubItems.Add(InputLanguage.CurrentInputLanguage.Culture.NativeName)
        LV.Items.Add("Zainstalowane języki")
 
        For Each IL As InputLanguage In InputLanguage.InstalledInputLanguages
            Języki &= IL.Culture.NativeName & "; "
        Next
        LV.Items(LV.Items.Count - 1).SubItems.Add(Języki)
 
        LV.Items.Add("Processor")
        For Each ProcName As ManagementObject In ProcInfo.Get
            LV.Items(LV.Items.Count - 1).SubItems.Add(ProcName.GetPropertyValue("Name").ToString())
        Next
    End Sub
 
    Sub CH()
        Pole = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        Wartość = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
        LV.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Pole, Wartość})
        Pole.Text = "Pole" : Pole.Width = 150
        Wartość.Text = "Wartość" : Wartość.Width = 500
    End Sub
End Class

Załączniki do pobrania

Permalink do tego artykułu: http://tmall.com.pl/informacja-o-systemie-za-pomoc-visual-basic/

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć tych znaczników i atrybutów HTMLa: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>