Guten Tag! Ich schreibe einen Windows-Dienst, der USB-Flash-Laufwerk erkennt und etwas mit dem angeschlossenen Laufwerk macht. Und jetzt nach den Tests muss ich Geräte nach dem Aufwachen aus dem Schlafmodus erneut verarbeiten. Ich löse dieses Problem, wenn der Dienst als Windows-Programm arbeitet. Zu lösen ich zusätzlich Prozess DBT_DEVNODES_CHANGED
, aber Service diese Nachricht nicht erhalten, empfängt es nur DBT_DEVICE_ARRIVAL
und DBT_DEVICEREMOVECOMPLETE
. Ich versuchte auch, alle Nachrichten zu überprüfen, die durch Dienst außer SERVICE_CONTROL_DEVICEEVENT
und SERVICE_CONTROL_STOP
gehandhabt werden, wenn System in Schlaf geht und ich keine Nachricht bekomme.Wie kann ich den Ruhezustand im Windows-Dienst erkennen?
Wie kann ich feststellen, wann das System aufwacht?
Danke, ich verarbeite 'SERVICE_CONTROL_DEVICEEVENT'. Ich werde mehr Test am Montag, aber ich bekomme nicht 'SERVICE_CONTROL_POWEREVETN' und weiß nicht warum. – drem1lin
Sie haben Recht, aber und ich und Sie vergessen eine Kleinigkeit. Es ist notwendig, 'SERVICE_ACCEPT_POWERBROADCAST' hinzuzufügen, um SetServiceStatus aufzurufen – drem1lin