Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <iostream>
- #include <Tlhelp32.h>
- #include <vector>
- #include <string>
- #pragma warning (disable: 4018)
- using namespace std;
- struct _PROCESS_INFORMATION_STRUCT
- {
- std::string strProcessName;
- DWORD dwProcessID;
- };
- vector<_PROCESS_INFORMATION_STRUCT> vProcessinfo;
- bool ProcessToVector()
- {
- PROCESSENTRY32 pEntry;
- HANDLE pSnap;
- pSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
- if (pSnap == INVALID_HANDLE_VALUE)
- return false;
- pEntry.dwSize = sizeof(PROCESSENTRY32);
- if (!Process32First(pSnap, &pEntry))
- return false;
- while (Process32Next(pSnap, &pEntry))
- {
- _PROCESS_INFORMATION_STRUCT ProcessInfo;
- std::wstring wstrTemp = std::wstring(pEntry.szExeFile);
- std::string strTemp = std::string(wstrTemp.begin(), wstrTemp.end());
- ProcessInfo.strProcessName = strTemp;
- ProcessInfo.dwProcessID = pEntry.th32ProcessID;
- vProcessinfo.push_back(ProcessInfo);
- }
- CloseHandle(pSnap);
- return true;
- }
- int main()
- {
- SetConsoleTitle(L"Process List");
- ProcessToVector();
- for (int i = 0; i < vProcessinfo.size(); i++)
- cout << "[" << vProcessinfo[i].dwProcessID << "] " << vProcessinfo[i].strProcessName << endl;
- cout << endl;
- system("pause");
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement