[gelöst] Ist mein Drucker noch an ?

Anfängerfragen zum Programmieren mit PureBasic.
Little John

Beitrag von Little John »

bobobo hat geschrieben:so einfach isses nich da damit nur der letzte Eintrag rausgelöscht wird
Dokument auf wotsit.org hat geschrieben:[-key-name]

This will delete the key and all it's subkeys
Quelle: http://www.wotsit.org/download.asp?f=reg&sc=250249850 (direkter Download einer ZIP-Datei)
Das stimmt mit meinen Erfahrungen überein.
bobobo hat geschrieben: das löschen sollte man vermutlich besser interaktiv mit regedit
machen

verschreiben geht schnell und klicken auch ..
Dass man beim Umgang mit der Registry vorsichtig sein soll, darauf hattest Du ja völlig zu recht schon hingewiesen.
Und in Regedit falsch klicken geht auch schnell ...
Das Löschen per Doppelklick auf eine .reg-Datei kann einen evtl. gerade vor Fehlern bewahren. Wenn nämlich einmal der betr. Schlüssel dort drin ist (am besten hineinkopiert, und nicht hineingeschrieben), dann kann man später die Datei ziemlich sicher immer wieder doppelklicken, weil beim wiederholten doppelklicken kaum noch ein Fehler gemacht werden kann. Wenn man die Datei aufbewahrt, hat man außerdem exakt dokumentiert was man gemacht hat.

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

Beitrag von bobobo »

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

editieren mit regedit bietet zumindest die optische unterstützung
ansonsten kann man ja gleich n Installer bemühen wenn man sich nicht
traut hinzuschauen.

logischerweise muss man ein gerade programm wie regedit richtig
bedienen .. wer da was editiert und/oder weglöscht was er nicht kennt
(fehlerhaft oder nicht fehlerhaft) brauch sich über .. und so weiter
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

@bobobo:
Ich lass es bei der Möglichkeit, über ein Icon auf dem Desktop mit einem Check herunterzufahren.

Ich habe Deine Änderungen auf der Test-Installation sowohl unter XP-Home, als auch den gemäß c't 12+15/2005 erstellten Versionen "HomePro" und "HomeProLite" getestet und der Shutdown lief jedesmal durch.
Man kann halt nich alles haben, wenn man nicht bereit ist, ein zusätzliches PRO zu kaufen. Wenn ich mal eine legale Lizenz für 30€ angeboten bekomme, werde ich zuschlagen :)

Danke für Dein Engagement :allright: ... scholly
Zuletzt geändert von scholly am 06.12.2007 19:24, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
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