Domanda

Voglio impedire agli utenti di arrestare o riavviare il sistema. la mia domanda viene eseguito come servizio nativo Win32 (scritto da C ++) e sotto LocalSystem.

ho sentito parlare WM_QUERYENDSESSION è la soluzione:. Creare una finestra nascosta e catturare WM_QUERYENDSESSION per impedire l'arresto

, ma questa soluzione non è davvero pulito e hanno anche per creare una finestra per ogni desktop. Quindi devo elencare i desktop e la cura anche di quando un desktop creato / Destoryed. Tutti questi fanno la brutta situazione!

C'è un modo per rilevare lo spegnimento / riavvio evento ed impedire lo spegnimento del sistema / riavvio?

(non è importante che l'evento è l'arresto o il riavvio, entrambi devono essere cancellate!)

È stato utile?

Soluzione

Non è possibile.

Poiché i programmi che consentono di impedire l'arresto / riavvio sarebbe un po 'di una vulnerabilità di sicurezza, non credi?

Se l'utente dice al sistema di spegnimento o il riavvio, questo è ciò che sta per accadere.

A proposito, WM_QUERYENDSESSION è passato quando l'utente corrente sta registrando da Windows. Si tratta di una notifica, niente di più, e se lo si usa in qualsiasi altro modo, allora lo si usa in modo errato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top