Зацепите процесс и получите файлы, которые он создал\удалил\переименовал
Я создал программу на c#, которая получает новый загруженный процесс
startWatch.EventArrived += new ventArrivedEventHandler(startWatch_EventArrived);
и делать всякие вещи, когда стреляет eventHandler.
после этого я использую:
foreach (var runningProcess in Process.GetProcessesByName(ShortProcessName))
чтобы получить запущенный процесс.Данные MainModule для текущего процесса и после него
foreach (System.Diagnostics.ProcessModule module in MYPROCESS.Modules)
чтобы получить список дочерних процессов и модулей.
Мое следующее желание-получить вывод файлов, которые создали \ удалили \ переименовали \ изменили \ что угодно с помощью процесса, который я поймал.
Что я уже пробовал:
Я пробовал копаться в конструкции и модулях "процесса", но ничего для этого не нашел. также пробовал использовать filewatcher, но и здесь не может получить родительский процесс, ответственный за изменения файлов. я думаю, что это не может быть сделано с помощью языка высокого уровня, такого как c#, но ниже.
К сожалению, я не знаком с нижними. в конце концов, я хочу, чтобы service \ watcher подключил процесс в режиме реального времени и создал выходной файл (файл), с которым он возился.
Suvendu Shekhar Giri
Рассмотрим еще один очень простой подход,
если у вас уже есть место (путь к папке), где создаются новые файлы, то вы можете получить всю информацию о файле, созданном/измененном/удаленном.
Или я упускаю что-то очевидное?
Aner Izraeli
подумайте о вредоносном коде ,
вы не можете знать, в какой папке вредоносная программа будет создавать\удалять\переименовывать файлы.
если бы я знал путь к папке, то мог бы легко использовать filewatcher. :)
Kornfeld Eliyahu Peter
Вы говорите о какой-то истории доступа к файлам?
Aner Izraeli
нет,
я говорю о том, какой файл создан\удален\переименован прямо сейчас, с помощью процесса.