C # - Как обнаружить выключение / выход из системы Windows и отменить это действие (после запроса пользователя)

Некоторое объяснение: для проекта, над которым я работаю Мне нужно написать программу, которая работает в фоновом режиме, обнаруживает изменения в файлах и загружает измененные файлы в веб-службу, чтобы сделать ее доступной для других. Довольно простая синхронизация, если бы не случай, когда пользователь изменяет большой файл и решает выключить свой компьютер сразу после редактирования.

Я мог бы отменить загрузку и дождаться следующей перезагрузки, чтобы выполнить загрузку, но я могу представить, как пользователь загружает файл из Интернета на другой компьютер на следующее утро и не понимает, почему его изменения с прошлой ночи не соответствуют действительности » т там.

Моя идея заключалась в том, чтобы определять, когда пользователи выходят из системы или перезагружают Windows, и если я нахожусь в процессе загрузки, просто спрашиваю пользователя: «Мы все еще синхронизируем файл Foo.txt которые вы только что изменили. Вы действительно хотите перезагрузиться? Ваши изменения не будут доступны другим, пока вы не перезагрузите компьютер! ». Если пользователь откажется, мне придется отменить перезагрузку / выход из системы

Возможно ли это?

9
задан shA.t 29 October 2017 в 14:42
поделиться