Ist u.U. zwingen notwendig, dass man die Prozessprioritat für eine Anwendung anhebt - sie sogar auf RealTime setzt.
Im folgenden wird eine Anwendung dargestellt, die genau das macht.
Auf einem formular werden hierzu 6 Radiobuttons ein Timer Control und ein Button Control gesetzt.
Die RadioButtons werden wie folgt geschriftet:
1 = Idle
2 = Below Normal
3 = Normal
4 = Above Normal
5 = High
6 = RealTime
Der Time wird auf 500 MiliSec. gestetzt. Der Rest sollte selbsterkläredn sind.
Diese kleine Anwendung in Verbindung mit
CPU Last Überwachung kann für manches Problem hilfreich sein.
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'Liest alle 0.5 Sekunden die Prozesspriorität aus
Dim CurrentApp As Process
Try
CurrentApp = Process.GetCurrentProcess
Select Case CurrentApp.PriorityClass
Case ProcessPriorityClass.Idle
lblGetPriority.Text = "STATUS: Priority = " & ProcessPriorityClass.Idle.ToString
Case ProcessPriorityClass.BelowNormal
lblGetPriority.Text = "STATUS: Priority = " & ProcessPriorityClass.BelowNormal.ToString
Case ProcessPriorityClass.Normal
lblGetPriority.Text = "STATUS: Priority = " & ProcessPriorityClass.Normal.ToString
Case ProcessPriorityClass.AboveNormal
lblGetPriority.Text = "STATUS: Priority = " & ProcessPriorityClass.AboveNormal.ToString
Case ProcessPriorityClass.High
lblGetPriority.Text = "STATUS: Priority = " & ProcessPriorityClass.High.ToString
Case ProcessPriorityClass.RealTime
lblGetPriority.Text = "STATUS: Priority = " & ProcessPriorityClass.RealTime.ToString
End Select
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub btnSet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSet.Click
Dim CurrentApp As Process
CurrentApp = Process.GetCurrentProcess
Try
'Wleche Button wurde gedrueckt
If RadioButton1.Checked = True Then
CurrentApp.PriorityClass = ProcessPriorityClass.Idle
ElseIf RadioButton2.Checked = True Then
CurrentApp.PriorityClass = ProcessPriorityClass.BelowNormal
ElseIf RadioButton3.Checked = True Then
CurrentApp.PriorityClass = ProcessPriorityClass.Normal
ElseIf RadioButton4.Checked = True Then
CurrentApp.PriorityClass = ProcessPriorityClass.AboveNormal
ElseIf RadioButton5.Checked = True Then
CurrentApp.PriorityClass = ProcessPriorityClass.High
ElseIf RadioButton6.Checked = True Then
CurrentApp.PriorityClass = ProcessPriorityClass.RealTime
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'beim laden wird "Normal" als Standard gesetzt
RadioButton3.Checked = True
End Sub
End Class
1 Kommentare zum Snippet