[gelöst] Ist mein Drucker noch an ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

@Little John:

Als erstes habe ich mit dem WMI-Tool Scriptomatic untersucht, anhand welcher Werte ich erkennen kann, ob mein Laser Offline ist oder nicht.
Ergebnis: Name und Attributes reichen:

Code: Alles auswählen

IncludeFile "wmi.pbi" ; http://www.purebasic.fr/german/viewtopic.php?t=2925&start=14

WMI_INIT()
 WMI_Call("Select * FROM Win32_Printer", "Name, attributes")
 ResetList(wmidata())
 While NextElement(wmidata())
   Debug wmidata()  ; Alle Listenelemente darstellen / show all elements
 Wend
WMI_RELEASE("OK")
Nachdem ich nun die korrekte Bezeichnung hatte, ergab sich folgender Check:

Code: Alles auswählen

IncludeFile "wmi.pbi" ; http://www.purebasic.fr/german/viewtopic.php?t=2925&start=14

WMI_INIT()
WMI_Call("Select * FROM Win32_Printer", "Name, attributes")
ResetList(wmidata())
While NextElement(wmidata())
  If wmidata() = "Samsung SCX-4100 Series"
    Debug wmidata()  ;Listenelemente darstellen
    NextElement(wmidata())
    If wmidata() = Str(3144)
      Debug "Samsung ist offline, ich schalte aus..."
      ;RunProgram("C:\Windows\System32\shutdown.exe","-s -t 0 -f","",0)
    Else
      Debug "Samsung ist NICHT offline"
      result = MessageRequester( "Schlafmütze !!", "Der Samsung ist noch an !!"+#CRLF$+"Bitte erst ausschalten !!")
      If result = #PB_MessageRequester_Yes
        Debug "Ich schalte aus...."
        ;RunProgram("C:\Windows\System32\shutdown.exe","-s -t 0 -f","",0)
      EndIf      
    EndIf 
  EndIf
Wend
WMI_RELEASE("OK")
Wenn Du die Run-Program-Zeilen auskommentierst, funktioniert es dann, wie ich es mir vorgestellt hatte :)

Wenn man im MessageRequester noch #MB_OKCANCEL benutzt, ist es sogar offensichtlicher, daß man den Shutdown abbrechen kann ;)

baw... scholly
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Little John

Beitrag von Little John »

bobobo hat geschrieben:das mit dem key schrob ich doch oben..


lies mal
http://www.purebasic.fr/german/viewtopi ... 296#179296

da steht drin das etwas mehr als nur ein key hinzugefügt werden soll und
demnach auch gelöscht werden soll und da wird's komplexer
Das habe ich gelesen, und das lässt sich mit der von mir vorgeschlagenen Methode bestens behandeln. Ich mache sowas seit Jahren mit gutem Erfolg. Wir kommen hier wohl nicht auf einen gemeinsamen Nenner. Aber das macht nichts, zumal es sich um einen sehr marginalen Aspekt der Diskussion hier handelt.

@Scholly:
Das funktioniert bei mir (Windows XP Pro SP2 mit Epson Tintendrucker) auf Anhieb.
Super, vielen Dank! :allright:

Gruß, Little John
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

@LJ
einen noch
ich brauch gar keinen gemeinsamen nenner

Anm1: Wer weiß was wo wann passiert ist stark im vorteil

Ein blindes löschen eines registrypfades in dem ja irgendwie
auch noch anderes eingehängt worden sein könnte von anderen
programmen ist schon u.U. etwas waghalsig. aber goto Anm1
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Little John

Beitrag von Little John »

scholly hat geschrieben:Ich lass es bei der Möglichkeit, über ein Icon auf dem Desktop mit einem Check herunterzufahren.
[...]
Man kann halt nich alles haben, wenn man nicht bereit ist, ein zusätzliches PRO zu kaufen.
Scholly, vielleicht geht es mit diesen Informationen aus der WinFAQ? Den Angaben zufolge sollte es mit allen XP-Versionen funktionieren.

Gruß, Little John
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

Leider nicht, scheitert wieder daran, daß "Gruppenrichtlinien" anscheinend nur bei echten PROs benutzt werden können.

trotzdem DAnke für den Hilfeversuch... scholly
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Antworten