Kod:
struct windowHandler
{
HWND gameHWND;
DWORD gamePID;
HANDLE gameHandle;
};
std::list<windowHandler> list;
int main(int argc, char *argv[])
{
while(true)
{
HWND hWnd = FindWindow("Jakieś tam Twoje Okno", NULL);
if(hWnd)
{
windowHandler h;
h.gameHWND = hWnd;
GetWindowThreadProcessId(hWnd, &h.gamePID);
h.gameHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, h.gamePID);
list.push_back(h);
}
std::list<windowHandler>::iterator it;
for(it = list.begin(); it != list.end(); it++)
{
if(it->gameHWND == hWnd)
{
printf("okno istnieje już\n");
}
else
{
printf("okno nie istnieje\n");
}
}
}
}
Nie wiem, czy jest jakaś inna metoda, ale zostałem zmuszony do korzystania z tej wyżej wymienionej.
Pozdrawiam, Czepek!