Hallo,
mein Ziel ist es eine Eventhandler Callback Routine in einer DLL bekannt zu machen. Ich verwende hier die SAPI und möchte z.B. auf Synthesizer Events lauschen. Mein Programm wird als DLL in ein anderes Programm geladen. Das handle hInstance vom Laden der DLL bekomme ich als Parameter.
Soweit ich das verstanden habe, brauche ich für die Benachrichtigungen ein WindowHandle.
Nun rufe ich folgendes auf:
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS\_HREDRAW | CS\_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)MyWndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = 0;
wcex.hCursor = LoadCursor(NULL, IDC\_ARROW);
wcex.hbrBackground = 0;
wcex.lpszMenuName = NULL;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = 0; (LPCTSTR)IDI\_SMALL);
HWND hwnd= CreateWindowEx(
WS\_EX\_TOPMOST|WS\_EX\_LAYERED|WS\_EX\_TRANSPARENT,
szWindowClass,
szTitle,
WS\_POPUP|WS\_SYSMENU,
0, 0, 0, 0,
NULL,
NULL,
hInstance,
NULL);
Leider ist das Window Handle, dass ich bekomme NULL. Ein Aufruf von GetLastError() liefert ebenfalls 0 zurück. Also keinerlei Hinweise auf einen Fehler.
Für Hinweise auf die korrekten Parameter oder Tipps, die mir hier weiterhelfen, wäre ich dankbar.
Dirk