Ho una struttura NotifyIconData che utilizzo per visualizzare un dato messaggio

codice:
	memset(&ref,0,sizeof(ref));
	ref.cbSize = sizeof(NOTIFYICONDATA);
	ref.uID = 10182;
	ref.uFlags = NIF_ICON|NIF_INFO|NIF_ICON|NIF_MESSAGE;
	ref.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
	ref.dwInfoFlags = NIIF_ERROR;
	ref.uVersion = NOTIFYICON_VERSION;
	ref.uCallbackMessage = 98765;
	strcpy_s(ref.szInfo,"Messaggio!");
	strcpy_s(ref.szInfoTitle,"Titolo");
	strcpy_s(ref.szTip,"AltroMessaggio");
Ora ho alcuni problemi.
In primo luogo, affinchè possa captare i messaggi che vengono mandati, sembra sia necessario specificare un'HWND che indica la finestra associata all'icona della traybar. Il problema principale è che io non ho una finestra associata. Devo per forza crearne una? Esiste un modo per creare una finestra "inutile" di dimensione 0 senza stile e senza niente? Giusto il necessario per poter usare il ciclo dei messaggi?

Come posso visualizzare un menu' sulla traybar? Mi sembra che TracPopMenuEx faccia al casomio, ma purtroppo chiede sembre la solita HWND che io non ho.

In secundis, se passo con il mouse sull'icona, questa stranamente sparisce!!!