/* Benjamin DELPY `gentilkiwi` http://blog.gentilkiwi.com benjamin@gentilkiwi.com Licence : http://creativecommons.org/licenses/by/3.0/fr/ */ #include "mod_windows.h" BOOL WINAPI mod_windows::enumHWNDCallback(HWND hwnd, pair *> * mesHWNDS) { DWORD processId = 0; if(DWORD threadId = GetWindowThreadProcessId(hwnd, &processId)) { if((mesHWNDS->first == 0) || (processId == mesHWNDS->first)) { KIWI_HWND_ENTRY monEntree = {hwnd, processId, threadId}; mesHWNDS->second->push_back(monEntree); } } return TRUE; } bool mod_windows::getHWNDsFromProcessId(vector * mesHWNDS, DWORD processId) { return (EnumWindows(reinterpret_cast(enumHWNDCallback), reinterpret_cast(&make_pair *>(processId, mesHWNDS))) != FALSE); }