VC6 で GetProcessId()

VC6 で ShellExecuteEx をしたプロセスのプロセスIDの取得に苦労。

GetProcessId() は、kernel32.dll に実装されているが、VC6 のヘッダにはないみたい。

以下で解決

typedef ULONG (__stdcall *GETPROCESSID)(HANDLE Process);

GETPROCESSID GetProcessId=(GETPROCESSID)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetProcessId");
DWORD processID = GetProcessId(m_hProcess);