Detectar se uma reinicialização do Windows ocorreu devido a atualizações do Windows

Alguns aplicativos no meu PC estão realizando uma detecção quando uma reinicialização foi feita pelo Windows Update ou não. Isso é observável porque eles são reiniciados após a reinicialização automática do Windows Updat

Isto é muito útil, pois esses aplicativos recarregam alterações, mesmo não salvo altera ou restaura as guias (no caso de um navegador). Exemplos de aplicativos que fazem isso:

Google ChromeMicrosoft Visual StudioMicrosoft Paint

Em todos os casos, os aplicativos salvam oEstad eles estavam antes da reinicialização.

(Meu PC realmente acordou do estado de espera automaticamente e se reinicializou ao instalar atualizações. Pena que não voltou ao modo de espera depois de fazer isso.)

Minha pergunta é: como detecto programaticamente esse tipo de reinicialização? Parece ser detectável com segurança antes da reinicializaçã

A questãoComo posso obter o último motivo de reinicialização do Windows pode parecer uma duplicata, mas nenhuma resposta disse nada sobre atualizaçõe

Código em C #, portanto, uma resposta em C # seria útil, embora eu possa ler C e C ++ também, por exempl

questionAnswers(4)

yourAnswerToTheQuestion