おはよう!私はUSBフラッシュドライブの接続を検出し、接続されたドライブで何かを行うWindowsサービスを書いています。そして、テストの後、私はスリープモードから目を覚ました後にデバイスを再処理する必要があります。サービスがWindowsプログラムとして動作するとき、私はこの問題を解決します。私はさらにDBT_DEVNODES_CHANGED
プロセスを解決するために、サービスはこのメッセージを受け取らず、DBT_DEVICE_ARRIVAL
とDBT_DEVICEREMOVECOMPLETE
しか受信しません。システムがスリープ状態になり、メッセージが表示されない場合は、SERVICE_CONTROL_DEVICEEVENT
とSERVICE_CONTROL_STOP
以外のサービスで処理されるすべてのメッセージもチェックしようとしました。Windowsサービスでスリープモードから復帰する方法を検出するには?
システムがいつ起きているのかを判断するにはどうすればよいですか?
ありがとう、私は 'SERVICE_CONTROL_DEVICEEVENT'を処理します。私は月曜日にもっとテストをするつもりですが、私は 'SERVICE_CONTROL_POWEREVETN'を得ておらず、理由はわかりません。 – drem1lin
あなたは正しいですが、私はあなたに小さな事を忘れてしまいます。 SetServiceStatusを呼び出すには、 'SERVICE_ACCEPT_POWERBROADCAST'を追加する必要があります – drem1lin