I found a different behavior on WaitForInputIdle between Vista x64 SP1 and Windows 7 x64 RC.- Launch an application (not console) by CreateProcess.- Then, wait for input idle on the process by WaitForInputIdle with INFINITE.- WaitForInputIde returns zero. (succeeded)- After this, try FindWindow to get HWND of this application. - FindWindow returns a valid HWND on Vista, but NULL is returned on Win7 RC.Is this a design on Win7? It looks like an application is launching faster than Vista, but if the API's behavior has been changed, we cannot compare with by this way.Anyway, I would like to know how to get a HWND created just after CreateProcess on Win7.P.S.Additional comment for my feedback almost a month ago.This code will excute a MFC dialog-base application, which is a private application for test created by VC Wizard.(rough code for explanation.)PROCESS_INFORMATION pi;STARTUPINFO si;ZeroMemory(&pi, sizeof(pi));ZeroMemory(&si, sizeof(si));si.cb = sizeof(si);si.dwFlags = STARTF_USESHOWWINDOW;si.wShowWindow = SW_SHOWNORMAL;BOOL bRet = CreateProcess(NULL, szCmd, NULL, NULL, FALSE, 0, NULL, szDir, &si, &pi);ASSERT(bRet);ASSERT(pi.hProcess != INVALID_HANDLE_VALUE);DWORD dwRet = WaitForInputIdle(pi.hProcess, INFINITE);ASSERT(dwRet == 0);CloseHandle(pi.hThread);CloseHandle(pi.hProcess);HWND hWnd = FindWindow(NULL, szName);ASSERT(hWnd != NULL); // NULL on Win7. Not NULL on Vista.In this case, there are two applications, the caller (this code itself) and callee,and the caller launches the callee while the caller is launching.