Есть ли способ получить список всех открытых приложений и список всех открытых файлов? Для файлов мне нужны только файлы, которые я открыл (документы и т. Д.), А не открытые системные файлы ОС. То же самое для приложений (только для браузеров, процессоров документов и т. Д.).C# Список в настоящее время открытых файлов и программ
Я уже пробовал различные функции из Windows API, такие как EnumWindows, но я не мог получить то, что хотел.
Пример того, что моя конечная цель будет, чтобы иметь списки, как это:
Приложения
Microsoft Word, Блокнот, Mozilla Firefox
Файлы
Foo. txt, foo.mp3, foo.doc
Мне нужны только имена, мне не нужны ручки и т. Д. (Хотя я уверен, что мне придется использовать их, чтобы получить то, что я хочу)
Файлы открываются программами. Вы их не открываете. Вам нужно спросить программы, что они используют. Поэтому вам нужно либо прочитать их API, либо если вам повезет, они могут иметь его в заголовке –
Да, но программы запрашивают ОС для открытия файлов. Итак, ОС, вероятно, знает, какие файлы используются и по какой программе, не так ли? – user579674
Вы пробовали список процессов .Net? (System.Diagnostics) Process [] processList = Process.GetProcesses(); –