Awesomium с Directx 9 HWND не работает

У меня есть код ниже, который демонстрирует мою проблему.

#include <windows.h>
#include <d3d9.h>

#include <Awesomium/WebCore.h>
#include <Awesomium/BitmapSurface.h>
#include <Awesomium/STLHelpers.h>

// globals
LPDIRECT3D9       g_pDirect3D = NULL;
LPDIRECT3DDEVICE9 g_pDirect3D_Device = NULL;

#define WIDTH   800
#define HEIGHT  600
#define URL     "http://www.google.com"

LRESULT WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShow)
{
MSG msg;

WNDCLASSEX wc = {sizeof(WNDCLASSEX), CS_VREDRAW|CS_HREDRAW|CS_OWNDC,
WndProc, 0, 0, hInstance, NULL, NULL, (HBRUSH)(COLOR_WINDOW+1),
NULL, "DX9_TUTORIAL1_CLASS", NULL};

RegisterClassEx(&wc);

HWND hMainWnd = CreateWindow("DX9_TUTORIAL1_CLASS",
"Game's UI QA Awesomium",
WS_OVERLAPPEDWINDOW, 100, 100, WIDTH, HEIGHT,
NULL, NULL, hInstance, NULL);

// Init the Awesomium objects
Awesomium::WebCore* webCore =     Awesomium::WebCore::Initialize(Awesomium::WebConfig());
Awesomium::WebView* webView = webCore->CreateWebView(WIDTH, HEIGHT, 0, Awesomium::kWebViewType_Window);
webView->set_parent_window(hMainWnd);
webView->LoadURL((const Awesomium::WebURL)Awesomium::WSLit(URL));

// Wait for our WebView to finish loading
while (webView->IsLoading()) {
webCore->Update();
}

// Sleep a bit and update once more to give scripts and plugins
// on the page a chance to finish loading.
Sleep(300);
webCore->Update();

// Init the D3D9 objects
g_pDirect3D = Direct3DCreate9(D3D_SDK_VERSION);

D3DPRESENT_PARAMETERS PresentParams;
memset(&PresentParams, 0, sizeof(D3DPRESENT_PARAMETERS));

PresentParams.Windowed = TRUE;
PresentParams.SwapEffect = D3DSWAPEFFECT_DISCARD;

g_pDirect3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hMainWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &PresentParams,
&g_pDirect3D_Device);ShowWindow(hMainWnd, nShow);
UpdateWindow(hMainWnd);

while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return(0);
}LRESULT WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return(0);
case WM_PAINT:
//g_pDirect3D_Device->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 255), 1.0f, 0);
//g_pDirect3D_Device->Present(NULL, NULL, NULL, NULL);

//ValidateRect(hwnd, NULL);
return(0);
}

return(DefWindowProc(hwnd, msg, wParam, lParam));
}

Дело в том, что я не могу показать визуализацию домашней страницы Google внутри окна, мне было интересно, что я делаю неправильно, потому что я сделал то же самое, что вижу в уроках.

Особенно этот: http://wiki.awesomium.com/general-use/introduction-to-web-views.html

Ваш вклад будет высоко оценен!
Спасибо!

0

Решение

Оказывается, я добавил все .DLL в каталог проекта, но не awesomium_process.exe, он застрял на этапе загрузки на вечность.

0

Другие решения

Других решений пока нет …