![]() |
Auf Ein/Aus-Schalter reagieren
Moin allerseits,
ich habe ein kleines Problem, bei dem ich hoffe das ihr mir weiterhelfen könnt. Ich hab unter Vista und auf XP den Taster für das Ein und Ausschalten des Laptop funktionslos eingestellt (In den Energieoptionen). Wenn ich ihn also bei laufendem system drücke, passiert gar nichts. Nun möchte ich das Drücken dieses Tasters abfangen, um eine Dialogbox anzeigen zu lassen, welche mich fragt, ob ich wirklich herunterfahren will! Gibt es da einen möglichkeit oder gar ein fertiges Programm? Danke im Vorraus, Christian |
DP-Maintenance
Dieses Thema wurde von "Jelly" von "Programmieren allgemein" nach "Windows API / MS.NET Framework API" verschoben.
|
Re: Auf Ein/Aus-Schalter reagieren
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Zitat:
Da wo du's abgestllt hast, sollte es auch eine Option dafür geben. :zwinker: (mitlere Option) |
Re: Auf Ein/Aus-Schalter reagieren
Nein, genau das möchte ich nicht. Bei uns in der Uni gibts so ein paar Kaoten, die immer auf den Knopf drücken und fährt mein Computer in den Ruhezustand. Das nervt.
Nun möchte ich ei Programm haben, dass mir erst eine dialogbox anzeigt, in der ich auswählen kann, ob er wirklich runterfahren soll. Und unter Vista kann man das Herunterfahren ja nicht mehr verhinder, wenn der auftrag einmal gegeben ist. Also muss ich wohl auf den Taster reagieren! Gruß, Christian |
Re: Auf Ein/Aus-Schalter reagieren
Liste der Anhänge anzeigen (Anzahl: 1)
Aber "Zur Vorgangsauswahl auffordern" ruft doch den passenden Windowsdialog (XP siehe Bild) auf. :stupid:
Und da hast du doch dann deine Abfrage? Ansonsten mußt du wohl hoffen, daß ein entsprechendes Tastaturevent ausgelößt wird, welches du z.B. über 'nen Tastaturhook abfangen kannst. :gruebel: |
Re: Auf Ein/Aus-Schalter reagieren
Liste der Anhänge anzeigen (Anzahl: 1)
Mir würde es genügen, wenn er mir beim Drücken der Taste diesem Dialog anzeigt, da hab ich immer noch ne möglichkeit, das ganze aufzuhalten. Nur finde ich in den Einstalleungen nichts, wo ich das einstellen kann. Der fährt sofort runter!
[EDIT]Ich finde, keine Möglichkeit dazu in den Energieoptionen[/EDIT] |
Re: Auf Ein/Aus-Schalter reagieren
da ham die doch nich schonwieder was ausgebaut :shock:
na dann bleibt wohl doch nur noch der Tastaturhook. und hast du's schonmal über WM_POWERBROADCAST versucht? z.B. etwa so:
Delphi-Quellcode:
ach, und dat hab'sch grad über Google gefunden: :stupid:
Type TMainForm = Class(TForm)
... Private Procedure WMPowerBroadcast(Var Msg: TMessage); Message WM_POWERBROADCAST; End; Procedure TMainForm.WMPowerBroadcast(Var Msg: TMessage); Begin If Msg.WParam in [PBT_APMQUERYSUSPEND, PBT_APMQUERYSTANDBY] Then Msg.Result := BROADCAST_QUERY_DENY Else Inherited; End; ![]() |
Re: Auf Ein/Aus-Schalter reagieren
Zitat:
Zitat:
|
Re: Auf Ein/Aus-Schalter reagieren
Zitat:
![]() oder mal sehn ob es in CodeSammlungen wie z.B. den JEDIs schon definiert wurde. |
Re: Auf Ein/Aus-Schalter reagieren
Ok, hab den Code zum Laufen bekommen, der reagiert aber leider auch nicht auf den Knopfdruck!
|
Re: Auf Ein/Aus-Schalter reagieren
Tja, dann bleibt wohl nur noch das abfangen des entsprechenden (Tastatur)Ereignisses.
WM_KEYDOWN und WM_SYSKEYDOWN haben hier bei dem Gehäusetaster jedoch nichts geliefert. Aber ich denk mal, daß deine Tastatur irgendwas an den PC sendet und das mußt du nur finden und abfragen. :angel2: |
Re: Auf Ein/Aus-Schalter reagieren
Hi,
Vor dem Herunterfahren wird die Message WM_QUERYENDSESSION abgesetzt. Gibt man dieser Meldung 0 zurück wird das Herunterfahren abgebrochen. |
Re: Auf Ein/Aus-Schalter reagieren
1.: Habe ich abgeschaltet, das er herunterfährt. Ich will nur das drücken des Tasters abfangen.
2.: Das verhindern des Herunterfahrens ist unter Vista nicht mehr möglich! |
Re: Auf Ein/Aus-Schalter reagieren
Zu 1.: Also gut, weis ich aber auch nicht wie man da drankommt.
Zu 2.: Das stimmt so nicht ganz, man kann das Herunterfahren weiterhin abbrechen allerdings mit der Einschränkung, dass der Benutzter das Herunterfahren trotzdem erzwingen kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz