GetWindowThreadProcessId 不同窗体返回相同进程PID

代码如下

//获取所有同名窗体
 unsigned char get_all(HWND WindowList[4])
{
    int i;
    HWND hWnd;
    for(i=0;i<4;i++)
    {
        if(i == 0)
            hWnd = FindWindow(NULL,"abc");
        else
            hWnd = GetNextWindow(hWnd,GW_HWNDNEXT);
        if(hWnd!=NULL)
            WindowList[i] = hWnd;
        else
            break;
    }
    if(i !=4 )return 0;
    else return 1;
}

int main(int argc, char* argv[])
{
    unsigned char i = 0;
    unsigned int j = 0;
    int starta=0x0;
    unsigned int read_l = 0x00;
    DWORD temp;

    HWND window_list[4];
    DWORD porcess_list[4];
    HANDLE porcess_handle_list[4];

    if(!get_all(window_list))
    {
        printf("Can not found");
        system("PAUSE");
        return 1;
    }
    printf("hwnd:");
    for(i=0;i<4;i++)
        printf("%x ",window_list[i]);

    printf("\r\nPID:");
    for(i=0;i<4;i++)
    {
        GetWindowThreadProcessId(window_list[i],porcess_list+i);
        printf("%u ",porcess_list[i]);
    }
}

返回值如下:后三个的进程ID每次都返回一样的,请问是哪里不对呢
图片说明

找到问题了,搜索到的窗口并不是我想要的,改变搜索办法后解决了

用spy++看下,是不是后三个窗口属于同一个进程?