Я пытаюсь захватить экран дочернего окна и сделать его на материнской поверхности в Windows 7.Зачем DwmRegisterThumbnail терпеть неудачу?
HTHUMBNAIL thumbnail = NULL;
HRESULT hr = S_OK;
hr = DwmRegisterThumbnail(hWnd, visualHwnd, &thumbnail);
if(SUCCEEDED(hr))
{
...
}
Это не может все время. visualHwnd - это дочернее окно, а hWnd - родительский. Я также пробовал это без отношений родитель-потомок, и он просто ничего не рисует, хорошо ожидаемый, потому что если утверждение не выполняется.
В чем может быть причина?
Вот как я создаю родителя:
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
и ребенок:
CreateProcessA(NULL, "PVFOX.exe \"view3.pv\" ", NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &piVisual);
WaitForInputIdle(piVisual.hProcess, INFINITE);
Sleep(3000);
EnumWindows(EnumWindowsProc, 0);
SetParent(visualHwnd, hWnd);
Что такое код ошибки? – Michael