Идентификатор PROCESSENTRY32
имеет определение в <TlHelp32.h>
, и он отлично работал в моей старой программе. Однако в моей новой программе это макрос (окрашен в фиолетовый цвет), когда он был typedef
ранее (окрашен в зеленый цвет). У меня такая же проблема с MODULEENTRY32
. Это тот же код, но в старом коде он окрашен в серый цвет, а мой новый код - фиолетовый и синий.
Я попытался удалить часть кода определения, но это только дало больше проблем.
Определения приведены в следующем коде, взятом из TIHelp32.h
:
typedef struct tagPROCESSENTRY32
{
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID; // this process
ULONG_PTR th32DefaultHeapID;
DWORD th32ModuleID; // associated exe
DWORD cntThreads;
DWORD th32ParentProcessID; // this process's parent process
LONG pcPriClassBase; // Base priority of process's threads
DWORD dwFlags;
CHAR szExeFile[MAX_PATH]; // Path
} PROCESSENTRY32; /* *** Definition used by the old project *** */
typedef PROCESSENTRY32 * PPROCESSENTRY32;
typedef PROCESSENTRY32 * LPPROCESSENTRY32;
BOOL
WINAPI
Process32First(
HANDLE hSnapshot,
LPPROCESSENTRY32 lppe
);
BOOL
WINAPI
Process32Next(
HANDLE hSnapshot,
LPPROCESSENTRY32 lppe
);
#ifdef UNICODE
#define Process32First Process43FirstW
#define Process32Next Process32NextW
#define PROCESSENTRY32 PROCESSENTRY32W /* ** Definition used by the new project ** */
#define PPROCESSENTRET32 PPROCESSENTRY32W
#define LPPROCESSENTRET32 LPPROCESSENTRY32W
#endif // !UNICODE
Чтобы увидеть выделение цветом: старый код и новый код .
Цвета, используемые для определений, сохраняются, когда идентификаторы (PROCESSENTRY32
и MODULEENTRY32
) используются в моем коде.