Batterieanzeige für Laptop Benutzer und Andere :)
Übersicht BlitzBasic DLLs und Userlibs
XenonBetreff: Batterieanzeige für Laptop Benutzer und Andere :) |
Di, März 16, 2004 17:57 Antworten mit Zitat |
|
---|---|---|
Hi,
alles wichtige dürfte aus dem Code ersichtlich sein. ich finde es richtig lustig, strukturen in BB zu lesen, was täte man bloß ohne banks? Die Userlib: Code: [AUSKLAPPEN] .lib "kernel32.dll"
GetSystemPowerStatus%(SYSTEM_POWER_STATUS*):"GetSystemPowerStatus" Der Code: Code: [AUSKLAPPEN] bank = CreateBank(12)
br$ = Chr$(13)+Chr$(10) GetSystemPowerStatus(bank) ACLineStatus = PeekByte(bank, 0) Select ACLineStatus Case 0 s1$ = "Offline" Case 1 s1$ = "Online" Case 255 s1$ = "Unknown" Default s1$ = "Error" End Select BatteryFlag = PeekByte(bank, 1) s2$ = "" If BatteryFlag And 1 = 1 Then s2$ = s2$ + "High, " If BatteryFlag And 2 = 1 Then s2$ = s2$ + "Low, " If BatteryFlag And 4 = 1 Then s2$ = s2$ + "Critical, " If BatteryFlag And 8 = 1 Then s2$ = s2$ + "Charging, " If BatteryFlag And 128 = 1 Then s2$ = s2$ + "No system battery, " If BatteryFlag = 255 Then s2$ = "Unkown status, " If s2$ = "" Then s2$ = "No flags set" Else s2$ = Left$(s2$, Len(s2$)-2) End If BatteryLifePercent = PeekByte(bank, 2) s3$ = BatteryLifePercent+" %" Reserved1 = PeekByte(bank, 3) If Reserved1 = 0 Then s4$ = "Reserved" Else s4$ = "Error" End If BatteryLifeTime = PeekInt(bank, 4) If BatteryLifeTime = $FFFFFFFF Then s5$ = "Unknown" Else s5$ = BatteryLifeTime+" seconds" End If BatteryFullLifeTime = PeekInt(bank, 8) If BatteryLifeTime = $FFFFFFFF Then s6$ = "Unknown" Else s6$ = BatteryFullLifeTime+" seconds" End If ausgabe$ = "" ausgabe$ = ausgabe$ + "ACLineStatus: " + s1$+br$ ausgabe$ = ausgabe$ + "BatteryFlag: " + s2$+br$ ausgabe$ = ausgabe$ + "BatteryLifePercent: " + s3$+br$ ausgabe$ = ausgabe$ + "Reserved1: " + s4$+br$ ausgabe$ = ausgabe$ + "BatteryLifeTime: " + s5$+br$ ausgabe$ = ausgabe$ + "BatteryFullLifeTime: " + s6$+br$ Notify ausgabe$ End |
||
- Zuletzt bearbeitet von Xenon am Sa, Jul 24, 2004 18:33, insgesamt 2-mal bearbeitet
Dante |
Do, Dez 02, 2004 17:12 Antworten mit Zitat |
|
---|---|---|
wow, super lib
nice work |
||
- Zuletzt bearbeitet von Dante am So, Feb 26, 2006 22:35, insgesamt einmal bearbeitet
naibaf7 |
So, Feb 26, 2006 22:00 Antworten mit Zitat |
|
---|---|---|
ähem
was bedeutet BatteryLifePercent genau? heisst das Batterielaufzeitprozent? was bedeuten die anderen angaben genau? Wäre sehr froh für antwort. Ansonsten sehr gute arbeit |
||
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master |
x-pressive |
Fr, März 03, 2006 9:18 Antworten mit Zitat |
|
---|---|---|
Nette Idee
Zitat: was bedeutet BatteryLifePercent genau?
Benutz bitte deinen gesunden Menschenverstand, naibaf7 |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
naibaf7 |
Fr, März 03, 2006 10:37 Antworten mit Zitat |
|
---|---|---|
Sorry.....
aber ich weis wirklich nicht was diese dinge Bedeuten!!! Immerhin kommt bei mir bei BatteryLifePercent bei meinem Notebook der Wert 255% ? Sollte doch höchstens 100% sein oder |
||
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master |
#ReaperNewsposter |
Fr, März 03, 2006 18:13 Antworten mit Zitat |
|
---|---|---|
Ne, vermutlich musst du das noch umrechnen, der PC arbeitet NIE (stimmt doch, oder?) mit werten wie 100, sondern wenn nur 0 und 1 oder von 0 bis 255, wie in dem fall, alles andere wird umberechnet, erstrecht in solchen fällen
Also, mir fällst zwar gerade auch nicht ein, wie das geht, aber.. 255 ist 100% und 0 eben 0% MfG #Reaper |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
Dante |
Fr, März 03, 2006 18:40 Antworten mit Zitat |
|
---|---|---|
versuchs mal so:
Code: [AUSKLAPPEN] bank = CreateBank(12)
br$ = Chr$(13)+Chr$(10) GetSystemPowerStatus(bank) ACLineStatus = PeekByte(bank, 0) Select ACLineStatus Case 0 s1$ = "Offline" Case 1 s1$ = "Online" Case 255 s1$ = "Unknown" Default s1$ = "Error" End Select BatteryFlag = PeekByte(bank, 1) s2$ = "" If BatteryFlag And 1 = 1 Then s2$ = s2$ + "High, " If BatteryFlag And 2 = 1 Then s2$ = s2$ + "Low, " If BatteryFlag And 4 = 1 Then s2$ = s2$ + "Critical, " If BatteryFlag And 8 = 1 Then s2$ = s2$ + "Charging, " If BatteryFlag And 128 = 1 Then s2$ = s2$ + "No system battery, " If BatteryFlag = 255 Then s2$ = "Unkown status, " If s2$ = "" Then s2$ = "No flags set" Else s2$ = Left$(s2$, Len(s2$)-2) End If BatteryLifePercent = PeekByte(bank, 2) s3$ = Int(100.0 / 255.0 * BatteryLifePercent) +" %" ;Hier wirds umgerechnet^^ Reserved1 = PeekByte(bank, 3) If Reserved1 = 0 Then s4$ = "Reserved" Else s4$ = "Error" End If BatteryLifeTime = PeekInt(bank, 4) If BatteryLifeTime = $FFFFFFFF Then s5$ = "Unknown" Else s5$ = BatteryLifeTime+" seconds" End If BatteryFullLifeTime = PeekInt(bank, 8) If BatteryLifeTime = $FFFFFFFF Then s6$ = "Unknown" Else s6$ = BatteryFullLifeTime+" seconds" End If ausgabe$ = "" ausgabe$ = ausgabe$ + "ACLineStatus: " + s1$+br$ ausgabe$ = ausgabe$ + "BatteryFlag: " + s2$+br$ ausgabe$ = ausgabe$ + "BatteryLifePercent: " + s3$ + br$ ausgabe$ = ausgabe$ + "Reserved1: " + s4$+br$ ausgabe$ = ausgabe$ + "BatteryLifeTime: " + s5$+br$ ausgabe$ = ausgabe$ + "BatteryFullLifeTime: " + s6$+br$ Notify ausgabe$ End |
||
Smily |
So, März 12, 2006 16:54 Antworten mit Zitat |
|
---|---|---|
#Reaper hat Folgendes geschrieben: Also, mir fällst zwar gerade auch nicht ein, wie das geht, aber.. 255 ist 100% und 0 eben 0% Code: [AUSKLAPPEN] Prozentwert = (100.0/255.0)*wert%
Prozentrechnung, Mathematik klasse 6 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
#ReaperNewsposter |
So, März 12, 2006 18:05 Antworten mit Zitat |
|
---|---|---|
ach...öm..ja?
naja, das is ja bei mir nun schon.. äm..öm... 3 jahre her..? ^^ |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
Übersicht BlitzBasic DLLs und Userlibs
Powered by phpBB © 2001 - 2006, phpBB Group