2017-08-04 19 views
-1

私はゲームデッドアイランドのメモリファイルにアクセスする必要があるコードを書いていますが、問題は私がウィンドウを見つけることができないというコードを実行するときです。私は他のプログラムで試してみました。私はそれがタスクマネージャーにあるという名前を試しましたが、それはまだ動作しません。ここに私のコード HWND hWnd = FindWindowW(NULL, L"Dead Island - Definitive Edition");ウィンドウが見つかりませんC++

+0

私もspy ++を使ってみましたが、通常と同じ名前が付いています – Bleh

答えて

0

モード1:使用::FindWindowEx()

モード2:exeファイル名からウィンドウハンドルを取得します(デッドアイランドの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(); 
} 
0

はあなたを持っています死んだ島exeは "DeadIsland.exe"ではなく "Dead Island"と呼ばれていますか?

関連する問題