Hallöchen,
ich bin ja noch ein kleiner Anfänger, habe jedoch ein Problem, was ich nicht lösen kann.
Folgendes: Ich möchte, dass der aktuelle Takt von der CPU sich aktualisiert, genauso wie mit der Temperatur. Problem ist, dass sich nur die Temperatur ändern, wenn ich die .exe als Administrator öffne und es unter der Form1_Load Funktion packe. Die Temperatur ändert sich nur wenn ich jedes mal die .exe immer neu starte. Aber der CPU Takt bleibt immer gleich.
Ich hatte es mal unter dem Timer gepackt, jedoch ändert sich gar nichts. Die Temperatur ändert sich wieder nur wenn ich es immer neu starte als Administrator. Und als ich versucht habe den CPU Takt unter dem Timer zu packen, hatte ich einen unendlichen langen SplashScreen. Die x.Refresh Funktion habe ich auch probiert aber kein Erfolg.
Ich glaube ich hab was übersehen oder irgendwas ist am Code falsch.
Ich hab am besten den ganzen Code kopiert. Vielleicht kann auch irgendetwas anderes der Grund sein für das Problem.
Ich freue mich auf jede Antwort!
LG Christian
ich bin ja noch ein kleiner Anfänger, habe jedoch ein Problem, was ich nicht lösen kann.
Folgendes: Ich möchte, dass der aktuelle Takt von der CPU sich aktualisiert, genauso wie mit der Temperatur. Problem ist, dass sich nur die Temperatur ändern, wenn ich die .exe als Administrator öffne und es unter der Form1_Load Funktion packe. Die Temperatur ändert sich nur wenn ich jedes mal die .exe immer neu starte. Aber der CPU Takt bleibt immer gleich.
Ich hatte es mal unter dem Timer gepackt, jedoch ändert sich gar nichts. Die Temperatur ändert sich wieder nur wenn ich es immer neu starte als Administrator. Und als ich versucht habe den CPU Takt unter dem Timer zu packen, hatte ich einen unendlichen langen SplashScreen. Die x.Refresh Funktion habe ich auch probiert aber kein Erfolg.
Ich glaube ich hab was übersehen oder irgendwas ist am Code falsch.
Ich hab am besten den ganzen Code kopiert. Vielleicht kann auch irgendetwas anderes der Grund sein für das Problem.
VB.NET-Quellcode
- Imports System.Management
- Public Class Form1
- Dim X, Y As Integer
- Dim NewPoint As New System.Drawing.Point
- Dim objQuery As New ObjectQuery("SELECT * FROM Win32_Processor")
- Dim objSearcher As New ManagementObjectSearcher(objQuery)
- Dim searcher As New ManagementObjectSearcher("root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature")
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Me.Close()
- End Sub
- Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
- SplashScreen.Location = Me.Location
- My.Settings.Form_Location = New System.Drawing.Point(Me.Location.X, Me.Location.Y)
- My.Settings.Save()
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.Location = New System.Drawing.Point(My.Settings.Form_Location.X, My.Settings.Form_Location.Y)
- Label6.Parent = PictureBox1
- Label6.BackColor = Color.Transparent
- Label6.Location = New Point(1, 55)
- Label7.Parent = PictureBox1
- Label7.BackColor = Color.Transparent
- Label7.Location = New Point(1, 71)
- Label8.Parent = PictureBox2
- Label8.BackColor = Color.Transparent
- Label8.Location = New Point(1, 55)
- Label9.Parent = PictureBox2
- Label9.BackColor = Color.Transparent
- Label9.Location = New Point(1, 71)
- End Sub
- Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
- X = Control.MousePosition.X - Me.Location.X
- Y = Control.MousePosition.Y - Me.Location.Y
- End Sub
- Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
- If e.Button = Windows.Forms.MouseButtons.Left Then
- NewPoint = Control.MousePosition
- NewPoint.X -= (X)
- NewPoint.Y -= (Y)
- Me.Location = NewPoint
- End If
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- Dim CPUUssage As Integer
- CPUUssage = CPUPerformanceCounter.NextValue
- PictureBox1.Height = 1.49 * (100 - CPUUssage)
- Label6.Text = CPUUssage.ToString
- Label8.Text = CPUUssage.ToString
- Dim RAMUssage As Double
- RAMUssage = (My.Computer.Info.TotalPhysicalMemory - My.Computer.Info.AvailablePhysicalMemory) / 1024 / 1024 / 1024
- Label5.Text = RAMUssage.ToString("N") & " GB"
- Dim RAMUssagePercent As Long
- RAMUssagePercent = My.Computer.Info.AvailablePhysicalMemory * 100
- Dim RAMUssagePercentFinal As Long
- RAMUssagePercentFinal = Val(RAMUssagePercent / My.Computer.Info.TotalPhysicalMemory)
- PictureBox3.Height = 0.53 * RAMUssagePercentFinal
- For Each MemObj As ManagementObject In objSearcher.Get
- Label1.Text = Convert.ToUInt64(MemObj("CurrentClockSpeed")).ToString()
- Label3.Text = MemObj("Name").ToString
- Next
- For Each queryObj As ManagementObject In searcher.Get()
- Dim temp As Double = CDbl(queryObj("CurrentTemperature"))
- temp = (temp - 2732) / 10.0
- Label10.Text = temp.ToString & " °C"
- Next
- End Sub
- End Class
Ich freue mich auf jede Antwort!
LG Christian
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DeDelner“ ()