用快照取得当前的进程名,下面是测试小例子。
#include <Tlhelp32.h> // 需要导入Tlhelp32.h
......
MODULEENTRY32 mCurProcessModule32;
mCurProcessModule32.dwSize = sizeof(MODULEENTRY32); // 最好手动初始化,因为会取前4字节作为长度。
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,0); // 取当前进程所有模块。
assert(hProcessSnap!=INVALID_HANDLE_VALUE)
if (::Module32First(hProcessSnap,&mCurProcessModule32))
{ // 取第一个szModule实际就是进程名。
MessageBox(NULL, mCurProcessModule32.szModule, “”, MB_OK|MB_ICONINFORMATION);
}
......