// OVIME.cpp : 定義 DLL 應用程式的進入點。
//
//#define OV_DEBUG
#include "OVIME.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD dwReason,
LPVOID lpReserved
)
{
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
{
// load UI library
AVLoader* loader = AVLoader::open();
loader->connectDisplayServer(dsvr);
//Test for a replacement of UI's DllMain()
UIConstruct();
//
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_OVIME | CS_IME;
wc.lpfnWndProc = UIWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 2 * sizeof(LONG);
wc.hInstance = (HINSTANCE)hModule;
wc.hCursor = LoadCursor( NULL, IDC_ARROW );
wc.hIcon = NULL;
wc.lpszMenuName = (LPTSTR)NULL;
wc.lpszClassName = UICLASSNAME;
wc.hbrBackground = NULL;
wc.hIconSm = NULL;
IMEUIRegisterClass( (HINSTANCE)hModule );
hInst = (HINSTANCE)hModule;
if( !RegisterClassEx( (LPWNDCLASSEX)&wc ) )
return FALSE;
break;
}
case DLL_PROCESS_DETACH:
// free UI library
AVLoader::close();
UnregisterClass(UICLASSNAME, (HINSTANCE)hModule);
IMEUIUnRegisterClass( (HINSTANCE)hModule );
//Test for a replacement of UI's DllMain()
UIDispose();
//
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}