Dunque basilarmente le parti sono queste
Se metto NULL come parentwindow fakedialog = NULL. Non sapendo come fare, ho messo il primo HWND che mi è venuto in mente.codice:Menu = LoadMenu(hInstance,MAKEINTRESOURCE(ID_MENU)); fakedialog = CreateDialogParam(hInstance,MAKEINTRESOURCE(FAKE_DIALOG),GetDesktopWindow(),DialogProc,NULL);
Ed ecco la DialogProc che mai arriva ad eseguire le istruzioni.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.hWnd = fakedialog; ref.uVersion = NOTIFYICON_VERSION; ref.uCallbackMessage = WM_USER + 1100; strcpy_s(ref.szInfo,"Errore!"); strcpy_s(ref.szInfoTitle,"errore"); strcpy_s(ref.szTip,"errore");
codice:INT_PTR CALLBACK DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if (uMsg == WM_USER + 1100) if (lParam == WM_RBUTTONDOWN) { SetForegroundWindow(fakedialog); TrackPopupMenuEx(Menu,TPM_RIGHTALIGN,100,100,fakedialog,NULL); } return 0; }

Rispondi quotando