Hallo Community,
ich möchte euch hiermit meinen ersten Release vorstellen: mInfo
Es ist ein kleines (ganz kleines) Tool, welches mithilfe von UDF's geschrieben wurde, dieses Zeigt ein paar Daten des Computers an.
Ich release das Programm, um für zuküftiges zu üben und gewissen Problemen o.Ä. schon im vorraus aus dem Weg zu gehen.
Hier ein Screenshot des kleinen Tools:
[Blockierte Grafik: http://munksoft.mu.funpic.de/Projects/mInfo/mInfo-Screen.PNG]
Es ist in der Version 1.0, da ich in Zukunft plane das kleine Programm weiterhin weiterzuentwickeln, um dazu zu lernen.
Ich hoffe euch gefällt das kleine Programm schonmal, über konstruktive Kritik, Vorschläge etc. freue ich mich!
Download
Weitere Informationen sowie Updates gibt es auf meiner Seite munkee.tk
[Release] mInfo
-
-
Bitte poste auch immer deinen Code dazu, sonst können wir dir ja auch nicht helfen etwas zu verbessern Außerdem führt niemand gerne eine reine Exe-Datei aus...
-
Oh, tut mir Leid, total vergessen.
mInfo.au3
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Functions.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiButton.au3>$iState = _GetNetConnection()
[/autoit] [autoit][/autoit] [autoit]
$iOldState = $iState$cState = _Battery_IsCharging()
[/autoit] [autoit][/autoit] [autoit]
$cOldState = $cState
Switch $cState
Case True
$cStateText = "Lädt"
Case False
$cStateText = "Entlädt"
EndSwitch$Charge = _Battery_GetCharge()
[/autoit] [autoit][/autoit] [autoit]
$OldCharge = _Battery_GetCharge()$Voltage = _Battery_GetVoltage()
[/autoit] [autoit][/autoit] [autoit]
$OldVoltage = $Voltage$CPU = GetCPUUsage()
[/autoit] [autoit][/autoit] [autoit]
$OldCPU = $CPU$gui = GUICreate("mInfo", 161, 133, -1, -1, -1, -1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If ($iState == True) Then
$NetLabel = GUICtrlCreateLabel("Verbunden", 50, 110, 81, 15, -1, -1)
GUICtrlSetColor($NetLabel, "0x00FF00")
Else
$NetLabel = GUICtrlCreateLabel("Nicht Verbunden", 50, 110, 81, 15, -1, -1)
GUICtrlSetColor($NetLabel, "0xFF0000")
EndIf
GUICtrlCreateLabel("Internet:", 10, 110, 41, 15, -1, -1)
GUICtrlCreateLabel("Akkuladung: ", 10, 10, 83, 15, -1, -1)
$cStateLabel = GUICtrlCreateLabel("Akkustatus: " & $cStateText, 10, 30, 91, 15, -1, -1)
$ChargeLabel = GUICtrlCreateLabel(_Battery_GetCharge() & "%", 73, 10, 83, 15, -1, -1)
$VoltageLabel = GUICtrlCreateLabel("Spannung: " & _Battery_GetVoltage() & "V", 10, 50, 98, 15, -1, -1)
$CPULabel = GUICtrlCreateLabel("CPU: " & GetCPUUsage() & "%", 10, 80, 100, 15, -1, -1)
GUISetState(@SW_SHOW, $gui)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch$CPU = GetCPUUsage()
[/autoit] [autoit][/autoit] [autoit]
If $CPU <> $OldCPU Then
$OldCPU = $CPU
GUICtrlSetData($CPULabel, "CPU: " & $CPU & "%")
EndIf$Voltage = _Battery_GetVoltage()
[/autoit] [autoit][/autoit] [autoit]
If $Voltage <> $OldVoltage Then
$OldVoltage = $Voltage
GUICtrlSetData($VoltageLabel, "Spannung: " & $Voltage & "V")
EndIf$Charge = _Battery_GetCharge()
[/autoit] [autoit][/autoit] [autoit]
If $Charge <> $OldCharge Then
$OldCharge = $Charge
GUICtrlSetData($ChargeLabel, $Charge & "%")
EndIf$cState = _Battery_IsCharging()
[/autoit] [autoit][/autoit] [autoit]
If $cState <> $cOldState Then
$cOldState = $cState
If (_Battery_IsCharging() == True) Then
GUICtrlSetData($cStateLabel, "Akkustatus: Lädt")
Else
GUICtrlSetData($cStateLabel, "Akkustatus: Entlädt")
EndIf
EndIf$iState = _GetNetConnection()
[/autoit]
If $iState <> $iOldState Then
$iOldState = $iState
If ($iState == True) Then
GUICtrlSetData($NetLabel, "Verbunden")
GUICtrlSetColor($NetLabel, 0x00FF00)
Else
GUICtrlSetData($NetLabel, "Nicht Verbunden")
GUICtrlSetColor($NetLabel, 0xFF0000)
EndIf
EndIf
WEndFunctions.au3
[autoit]
[/autoit] [autoit][/autoit] [autoit]
Func _GetNetConnection()
Local $aReturn = DllCall('connect.dll', 'long', 'IsInternetConnected')
If @error Then
Return SetError(1, 0, False)
EndIf
Return $aReturn[0] = 0
EndFunc ;==>_GetNetConnectionFunc _Battery_StartUp()
[/autoit] [autoit][/autoit] [autoit]
Local $o_WMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
Return $o_WMIService.ExecQuery("SELECT * FROM Win32_Battery", "WQL", 48)
EndFunc ;==>_Battery_StartUpFunc _Battery_IsCharging()
[/autoit] [autoit][/autoit] [autoit]
Local $o_item, $_state = Default, $o_object = _Battery_StartUp()
If IsObj($o_object) Then
For $o_item In $o_object
$_state = $o_item.BatteryStatus
Next
If $_state < 0 Or $_state > 7 Then
Return SetError(-2)
Else
If $_state = 2 Then
Return True
Else
Return False
EndIf
EndIf
Else
Return SetError(-1)
EndIf
EndFunc ;==>_Battery_IsChargingFunc _Battery_GetCharge()
[/autoit] [autoit][/autoit] [autoit]
Local $o_item, $o_object = _Battery_StartUp()
If IsObj($o_object) Then
For $o_item In $o_object
Return $o_item.EstimatedChargeRemaining
Next
Else
Return SetError(-1)
EndIf
EndFunc ;==>_Battery_GetChargeFunc _Battery_GetVoltage()
[/autoit] [autoit][/autoit] [autoit]
Local $o_item, $o_object = _Battery_StartUp()
If IsObj($o_object) Then
For $o_item In $o_object
Return ($o_item.DesignVoltage / 1000)
Next
Else
Return SetError(-1)
EndIf
EndFunc ;==>_Battery_GetVoltageFunc GetCPUUsage()
[/autoit] [autoit][/autoit] [autoit]
Local $wbemFlags = 0x10 + 0x20Local $objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")
[/autoit] [autoit][/autoit] [autoit]
Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", $wbemFlags)Local $c = 0
[/autoit] [autoit][/autoit] [autoit]
Local $sMsg = ""For $objItem In $colItems
[/autoit] [autoit][/autoit] [autoit]
$sMsg &= "cpu%" & $objItem.LoadPercentage
Next$CpuAuslastung = StringSplit($sMsg, "cpu%", 1)
[/autoit] [autoit][/autoit] [autoit]For $n = "0" To $CpuAuslastung[0]
[/autoit] [autoit][/autoit] [autoit]
$c += $CpuAuslastung[$n]
NextReturn (Round($c / $CpuAuslastung[0], 0))
[/autoit]
EndFunc ;==>GetCPUUsageEdit Oscar: Bitte füge die Scripte zukünftig direkt hier in den Beitrag ein (habe das jetzt mal für Dich erledigt). Pastebin und co. sind eher als Hilfsmittel für die Shoutbox gedacht.
-
Also ich hätte einen Verbesserungsvorschlag für dich.
Man kann das Programm nicht Schließen wenn man auf das Rote "X" drückt, wollte dir nur den Tipp geben, aber sonst gute Arbeit -
Nicht schlecht, hoffentlich wird es in Zukunft umfangreicher und man könnte z.B. das Fenster in verschiedenen Größen mit den ausgewählten Daten anzeigen lassen,
wenn einem die Verbindung zum Internet nicht interessiert, weil man beispielsweise das Windows-Icon dafür nehmen könnte.Desweiteren finde ich das Programm nicht schlecht, ein weiterer Ansatzpunkt wäre z.B. ein Alarm, aber da das nur ein "(m)Info" Tool ist fällt das glaub ich weg.
Es speichert beispielsweise die Standard Spannung ein und es ertönt eine Meldung mit Alarm wenn die Spannung kritisch sinkt.Eine Statistik (evtll. per GDI+) wäre auch sehr empfehlenswert damit man schauen kann wie die CPU beispielsweise beim benutzen aktiv war.
Statistiken für CPU Usage in % über Zeit, Akkuladung, Akkudauer, usw...Gute Arbeit!