Список открытых файлов в Windows?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Список открытых файлов в Windows?

Сообщение Гость »

Для файлового браузера, над которым я работаю, мне нужно создать список открытых файлов в системе Windows.
Я начал с кода, который успешно генерирует список идентификаторы процессов. Есть ли способ превратить это в нечто, в котором будут перечислены все файлы, открытые каждым процессом?
#include
#include
#include

#include
#include
#include
#include

using namespace std;

void PrintProcessNameAndID(DWORD processID) {
TCHAR szProcessName[MAX_PATH] = TEXT("");

// Get a handle to the process.

HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, processID);

// Get the process name.

if (NULL != hProcess) {
HMODULE hMod;
DWORD cbNeeded;

if (EnumProcessModules(hProcess, &hMod, sizeof (hMod),
&cbNeeded)) {
GetModuleBaseName(hProcess, hMod, szProcessName,
sizeof (szProcessName) / sizeof (TCHAR));
}
}

// Print the process name and identifier.

_tprintf(TEXT("%s (PID: %u)\n"), szProcessName, processID);

// Release the handle to the process.

CloseHandle(hProcess);
}

int startup(void) {
// Get the list of process identifiers.

DWORD aProcesses[1024], cbNeeded, cProcesses;
unsigned int i;

if (!EnumProcesses(aProcesses, sizeof (aProcesses), &cbNeeded)) {
return 1;
}

// Calculate how many process identifiers were returned.

cProcesses = cbNeeded / sizeof (DWORD);

// Print the name and process identifier for each process.

for (i = 0; i < cProcesses; i++) {
if (aProcesses != 0) {
PrintProcessNameAndID(aProcesses);
}
}

return 0;
}

int main(int argc, char** argv) {

startup();

return 0;
}



Подробнее здесь: https://stackoverflow.com/questions/781 ... on-windows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»