#ifndef NULLSOFT_WINAMP_OMBROWSER_BROWSERTHREAD_HEADER #define NULLSOFT_WINAMP_OMBROWSER_BROWSERTHREAD_HEADER #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif #include interface IWebBrowser2; #define MSGF_BROWSERLOOP (MSGF_USER + 1) #define BHTF_QUITLOOP 0x00000001 #define BHTF_BEGINDESTROY 0x00000002 typedef HWND (CALLBACK *BTCREATEWNDPROC)(ULONG_PTR /*user*/); typedef BOOL (CALLBACK *BTKEYFILTERPROC)(HWND /*hwnd*/, MSG* /*pMsg*/); HANDLE BrowserThread_Create(HWND hWinamp, BTCREATEWNDPROC fnCreateWnd, ULONG_PTR user, BTKEYFILTERPROC fnKeyFilter, HWND *pWnd, DWORD *pThreadId); BOOL BrowserThread_IsQuiting(); BOOL BrowserThread_SetFlags(UINT flags, UINT flagsMask, BOOL fAlarm); BOOL BrowserThread_WaitNavigateComplete(IWebBrowser2 *pWeb2, UINT waitMax); BOOL BrowserThread_PostDestroy(HWND hHost); BOOL BrowserThread_PostDestroyEx(DWORD threadId, HWND hHost); INT BrowserThread_ModalLoop(HWND hwnd, HANDLE hCancel, DWORD timeout); #define BTM_FIRST (WM_APP - 10) #define BTM_INITCONTAINER (BTM_FIRST + 0) // wParam - not used, lParam - not used, return - ignored #define BTM_RELEASECONTAINER (BTM_FIRST + 1) // wParam - not used, lParam - not used; return - ignored; #endif //NULLSOFT_WINAMP_OMBROWSER_BROWSERTHREAD_HEADER