Windows Beschleuniger

  • Hallo,

    ich reg mich immer darüber auf, dass mein Windows immer langsamer wird. Dann hab ich mir gedacht, wie wärs wenn du ein Windows Beschleuniger programmierst. Man kann dann z.B. unötige Autostart programme entfernen etc.
    Zur meiner Frage: Ist es i-wie möglich, die Prozessor Leistung grafisch darzustellen und in die GDi packen zu können? Sprich, ich will das es so Aussieht wie beim Windows Taskmanager. Ich hoffe das war verständlich.

    MFG

    P.S.: Es gibt noch kein Script deswegen kann ichs auch nicht Posten.

  • Hat auch eher was mit lern Zwecken zu tun ;)

    Hab noch ne Frage. Wie kann ich die CPU-Auslastung nun grafisch darstellen? Ich hab 2 Cores und hab an 2 Progressbars gedacht. Leider kenn ich mich damit noch nicht so aus!
    Der Code:

    Spoiler anzeigen
    [autoit]

    $objRefresher = ObjCreate("WbemScripting.SWbemRefresher")

    [/autoit] [autoit][/autoit] [autoit]

    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")

    [/autoit] [autoit][/autoit] [autoit]

    $objRefreshableItem = $objRefresher.AddEnum($objWMIService , "Win32_PerfFormattedData_PerfOS_Processor")

    [/autoit] [autoit][/autoit] [autoit]

    $objRefresher.Refresh

    [/autoit] [autoit][/autoit] [autoit]

    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $i += 1
    Next
    EndIf
    Global $aCPU[$i]

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    [/autoit] [autoit][/autoit] [autoit]

    $objRefresher.Refresh
    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $aCPU[$i] = $objItem.PercentProcessorTime
    $i += 1
    Next
    EndIf
    ConsoleWrite("============" & @CRLF)
    For $i = 0 To UBound($aCPU)-2
    ConsoleWrite("Core "&$i+1&": "&$aCPU[$i] & @CRLF)
    Next
    ConsoleWrite("Gesamt: "&$aCPU[UBound($aCPU)-1] & @CRLF)
    Sleep(500)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func OnAutoItExit()
    $objRefresher.DeleteAll
    EndFunc

    [/autoit]

    MFG

    Einmal editiert, zuletzt von SklavenTrieb (6. Oktober 2010 um 16:43)

  • Hi!


    Ein ausschnitt aus mein Task_Manager Klick Mich

    Spoiler anzeigen
    [autoit]

    ;(Autor) Kleiner by AutoIT
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <GuiStatusBar.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $laenge = 400
    Local $objRefresher = ObjCreate('WbemScripting.SWbemRefresher')
    Local $objRefreshableItem = $objRefresher.AddEnum(ObjGet('winmgmts:\\.\root\CIMV2'), 'Win32_PerfFormattedData_PerfOS_Processor')
    $objRefresher.Refresh
    If IsObj($objRefreshableItem) Then Local $aCPU[$objRefreshableItem.ObjectSet.Count]
    Local $Set_Prog = 0, $core[UBound($aCPU) - 1], $l_core[UBound($aCPU) - 1], $P_core[UBound($aCPU) - 1]

    [/autoit] [autoit][/autoit] [autoit]

    If (@OSArch = 'X86') Then $Trans = 10

    [/autoit] [autoit][/autoit] [autoit]

    Switch UBound($aCPU) - 1
    Case 6
    $laenge += 150
    Case 8
    $laenge += 250
    Case 12
    $laenge += 450
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    $Form = GUICreate('Leistung', $laenge, 460, -1, -1, BitOR($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_TOPMOST)
    For $i = 0 To UBound($aCPU) - 2
    If $i > 0 Then $Set_Prog = 70 * $i
    $core[$i] = GUICtrlCreateProgress(50 + $Set_Prog, 65, 60, 160, $PBS_VERTICAL)
    $P_core[$i] = GUICtrlCreateLabel('', 50 + $Set_Prog, 230, 50, 20, $SS_CENTER)
    $l_core[$i] = GUICtrlCreateLabel('CPU ' & $i + 1, 50 + $Set_Prog, 45, 50, 20, $SS_CENTER)
    Next
    Local $Arbeitspeicher = GUICtrlCreateProgress(50, 280, 80, 140, $PBS_VERTICAL)
    Local $l_Arbeitspeicher = GUICtrlCreateLabel('Arbeitsspeicher', 40, 260, 100, 20, $SS_CENTER)
    Local $P_Arbeitspeicher = GUICtrlCreateLabel('', 50, 425, 80, 20, $SS_CENTER)
    GUICtrlCreateGroup('Physikalischer Speicher (MB)', 160, 300, 170, 110)
    GUICtrlCreateLabel('Insgesamt : ', 180, 330, 60, 19)
    Local $GesamtRAM = GUICtrlCreateInput('', 270, 330, 40, 19, $ES_READONLY + $ES_CENTER)
    GUICtrlCreateLabel('Verfügbar : ', 180, 355, 60, 19)
    Local $VerfuegbarerRAM = GUICtrlCreateInput('', 270, 355, 40, 19, $ES_READONLY + $ES_CENTER)
    GUICtrlCreateLabel('Benutzt : ', 180, 380, 60, 19)
    Local $BenutztRAM = GUICtrlCreateInput('', 270, 380, 40, 19, $ES_READONLY + $ES_CENTER)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    _CPU_Darstellung()

    [/autoit] [autoit][/autoit] [autoit]

    Func _CPU_Darstellung()
    Local $iTimer = TimerInit()
    Local $iOnEventMode = Opt('GUIOnEventMode', 0), $aMSG
    Do
    $aMSG = GUIGetMsg()
    If (Round(TimerDiff($iTimer)) > 875) Then
    $mem = MemGetStats()
    $aCPU = Refresh()
    For $i = 0 To UBound($aCPU) - 2
    GUICtrlSetData($core[$i], $aCPU[$i])
    GUICtrlSetData($P_core[$i], $aCPU[$i] & '%')
    Next
    GUICtrlSetData($GesamtRAM, Round($mem[1] / 1024))
    GUICtrlSetData($VerfuegbarerRAM, Round($mem[2] / 1024))
    GUICtrlSetData($BenutztRAM, Round(($mem[1] - $mem[2]) / 1024))
    GUICtrlSetData($Arbeitspeicher, Round(($mem[1] - $mem[2]) * 100 / $mem[1]))
    GUICtrlSetData($P_Arbeitspeicher, Round(($mem[1] - $mem[2]) / 1024) & ' MB')
    $iTimer = TimerInit()
    EndIf
    Until $aMSG = $GUI_EVENT_CLOSE
    Opt('GUIOnEventMode', $iOnEventMode)
    Exit
    EndFunc ;==>_CPU_Darstellung

    [/autoit] [autoit][/autoit] [autoit]

    Func Refresh()
    $objRefresher.Refresh
    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $aCPU[$i] = $objItem.PercentProcessorTime
    $i += 1
    Next
    EndIf
    Return $aCPU
    EndFunc ;==>Refresh

    [/autoit]

    Für autostart und ander daten wie tmp oder log o. reg fehler schreibe ich auch gerade eins ! ;)

    LG Kleiner

    Einmal editiert, zuletzt von Kleiner (6. Oktober 2010 um 23:44)