Ho cominciato creando una DialogBox e caricandola senza però mai mostrarla con CreateDialog.
Il problema è che non arrivano i messaggi desiderati. Ne arriva soltanto 1 dalla mia icona (ma non è quello che mi serve).
codice:
INT_PTR CALLBACK DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_USER + 1100) // solo una volta supera questo test. eppure io premo sull'icona varie volte.
if (lParam == WM_RBUTTONDOWN)
{
SetForegroundWindow(fakedialog);
TrackPopupMenuEx(Menu,TPM_RIGHTALIGN,100,100,fakedialog,NULL);
}
return 0;
}
Menu = LoadMenu(hInstance,MAKEINTRESOURCE(ID_MENU));
fakedialog = CreateDialogParam(hInstance,MAKEINTRESOURCE(FAKE_DIALOG),GetDesktopWindow(),DialogProc,NULL);
// e poi al punto giusto
ref.hWnd = fakedialog; // ref è un NOTIFYICONDATA