找不到 window C++

Can't find window C++

我正在编写一个代码,需要访问死岛游戏中的内存文件,但问题是当我 运行 代码时,它说无法找到 window。我已经尝试过其他程序并且它有效。我已经尝试了它在任务管理器中的名称,但它仍然不起作用。这是我的代码 HWND hWnd = FindWindowW(NULL, L"Dead Island - Definitive Edition");

方式一:使用::FindWindowEx()

模式 2 : 从 exe 名称获取 window 句柄(!设置死岛的 exe 名称)

TCHAR* szExeName = _T("Dead Island"); //Dead Island.exe

HANDLE GetHandleOfDeadIsland()
{
    HANDLE hDeadIsland = INVALID_HANDLE_VALUE;
    HANDLE hSnap = INVALID_HANDLE_VALUE;
    PROCESSENTRY32 pe32;
    pe32.dwSize = sizeof(PROCESSENTRY32);

    hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

    if (INVALID_HANDLE_VALUE != hSnap)
    {
        if (Process32First(hSnap, &pe32))
        {
            do 
            {
                //!!! Attention pe32.szExeFile always return exe file name. not window title.
                if (NULL != _tcsstr(pe32.szExeFile, szExeName))
                {
                    hDeadIsland = OpenProcess(PROCESS_ALL_ACCESS, TRUE, pe32.th32ProcessID);
                    break;
                }
            } while (Process32Next(hSnap, &pe32));
        }
    }

    return hDeadIsland;
}

int main()
{
    HANDLE hDeadIsland = GetHandleOfDeadIsland();
    if (INVALID_HANDLE_VALUE == hDeadIsland)
    {
        _tprintf(_T("Not Found\n"));
    }
    else
    {
        _tprintf(_T("Found\n"));
    }

    return GetLastError();
}

你确定死岛 exe 是 "Dead Island" 而不是 "DeadIsland.exe" 吗?