Этот код будет читать текущий процесс из ОС и отображать его (C++). В частности, ОС здесь - Windows XP. Проблема (ошибка) находится в (я думаю) прототипе. Кстати, он отображает следующие ошибки.Чтение текущего процесса из ОС и его отображение через C++!
Ошибка 1: LNK2019 Ошибки: неразрешенный внешний символ _EnumProcesses @ 12, указанный в функции _Главной
Ошибка 2: LNK2019 Ошибки: неразрешенный внешний символ _GetModuleBaseNameA @ 16 ссылки в функции «недействительный __cdecl DisplayProcessNameAndID (без знака длина) "(DisplayProcessNameAndID @@ YAXK @ Z?)
ошибка 3: LNK2019 ошибка: неразрешенный внешний символ _EnumProcessModules @ 16, указанные в функции "недействительным __cdecl DisplayProcessNameAndID (без знака длиной)"(DisplayProcessNameAndID @@ YAXK @ Z?)
Ошибка 4: фатальная ошибка LNK1120: 3 неразрешенные внешние C: \ Documents и Settings \ Windows \ Мои документы \ Visual Studio 2008 \ Projects \ в \ Debug \ a.exe
#include <afxwin.h>
#include <iostream>
#include <string.h>
#include "psapi.h"
unsigned int i;
using namespace std;
void DisplayProcessNameAndID(DWORD processID);
void main()
{
DWORD aProcesses[1024], cbNeeded, cProcesses;
if (!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
return;
cProcesses = cbNeeded/sizeof(DWORD);
for (i = 0; i < cProcesses; i++)
{
if(aProcesses[i] != 0)
DisplayProcessNameAndID(aProcesses[i]);
}
};
void DisplayProcessNameAndID(DWORD processID)
{
TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
HANDLE hProcess = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID) ;`
if (NULL != hProcess)
{
HMODULE hMod;
DWORD cbNeeded;
if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))
{
GetModuleBaseName(hProcess, hMod, szProcessName,
sizeof(szProcessName)/sizeof(TCHAR));
}
};
CString str;
str.Format("Text:%s, PID : %u", szProcessName, processID);
AfxMessageBox(str);
CloseHandle(hProcess);
}
Ваши окна.h есть C? Если это так, вам может понадобиться extern «C», чтобы предотвратить зависание имен C++ от зависания вашего компоновщика. –
Мне ничего не нужно делать с windows.h. Поэтому я удалил его. Это не имеет значения. – Jamil
Любая помощь будет оценена по достоинству. – Jamil