Я хочу написать программу, которая будет шифровать всю папку и ее подпапки, у меня нет проблем с этим, но я хотел бы сделать весь процесс шифрования довольно прозрачным, позволяя пользователю дважды щелкнуть по нему и открыть его как если бы он не был зашифрован, скажем, если это был документ с изображением или словом, и он открылся бы в соответствующем приложении.
Как моя работающая программа может получить уведомление об открытии целевого файла, остановить открытие файла, сделать то, что ему нужно (расшифровать), после чего запустить полученный расшифрованный файл.
Как я могу посмотреть файл и сделать это в C #? Могу ли я наблюдать за другими взаимодействиями, такими как пользователь, копирующий просматриваемый файл (поскольку он не будет находиться в просматриваемой папке, его следует расшифровать, т. Е. Перетащить на USB-устройство), или для удаления просматриваемого файла (например, если я хочу уничтожить файл перед удалением)?
P.S. FileSystemWatcher не совсем соответствует моим потребностям. РЕДАКТИРОВАТЬ: Я имею в виду, что FileSystemWatcher сообщит мне, когда файл открывается, удаляется и обо всех этих событиях, но он не позволит мне действительно быстро перейти, расшифровать файл и передать его обратно. к процессу, который обычно открывает этот файл.