The following example makes it easy to implement this function. #include <stdio.h> #include <windows.h>int main () {char str[max_path]; GetModuleFileName (NULL, str, MAX_PATH); Puts (str); return 0;}
In addition, to enumerate all the processes inside the system, you can use the following method, the key is the CreateToolhelp32Snapshot function.
PROCESSENTRY32 pe32; pe32.dwsize = sizeof (PE32);//set struct size; Give a fast shoot to the system all process; HANDLE Hprocesssnap=::createtoolhelp32snapshot (th32cs_snapprocess,0); if (hprocesssnap==invalid_handle_value) {AfxMessageBox (_t ("CreateToolhelp32Snapshot fail!")); return true; }//interactor BOOL bmore=::P rocess32first (HPROCESSSNAP,&PE32); while (bmore) {}:: CloseHandle (HPROCESSSNAP);
Gets information about the process, which can be obtained through zwquerysysteminformation.
C + + get process path