|
25 | 25 |
|
26 | 26 | const char szClassName[] = "GenericTrayCallback"; |
27 | 27 |
|
28 | | -BOOL CALLBACK DialogProcInfo(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { |
29 | | - switch (msg) { |
30 | | - case WM_COMMAND: |
31 | | - switch (LOWORD(wParam)) { |
32 | | - case 1: |
33 | | - EndDialog(hwnd, wParam); |
34 | | - return TRUE; |
35 | | - } |
36 | | - break; |
37 | | - case WM_INITDIALOG: |
38 | | - RECT desktop; |
39 | | - GetWindowRect(GetDesktopWindow(), &desktop); |
40 | | - int horiz = desktop.right; |
41 | | - int vert = desktop.bottom; |
42 | | - |
43 | | - RECT dialog; |
44 | | - GetWindowRect(hwnd, &dialog); |
45 | | - SetWindowPos(hwnd, NULL, (horiz/2) - (dialog.right/2), (vert/2) - (dialog.bottom/2), 0, 0, SWP_NOSIZE | SWP_NOZORDER); |
46 | | - default: ; |
47 | | - } |
48 | | - |
49 | | - return FALSE; |
50 | | -} |
51 | | - |
52 | 28 | LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { |
53 | 29 | switch (msg) { |
54 | 30 | case TRAY_CALLBACK_MSG: |
55 | 31 | switch (lParam) { |
| 32 | + default: |
| 33 | + break; |
56 | 34 | case WM_LBUTTONUP: |
57 | 35 | case WM_RBUTTONUP: |
58 | 36 | HMENU hMenu, hMenuContainer; |
59 | 37 | hMenuContainer = LoadMenuA(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_TRAY_MENU)); |
60 | 38 | hMenu = GetSubMenu(hMenuContainer, 0); |
61 | | - // I ended up deciding to use resources |
62 | | -// hMenu = CreatePopupMenu(); |
63 | | -// AppendMenuA(hMenu, MF_STRING, MENU_ID_TEST1, "Test1"); |
64 | | -// AppendMenuA(hMenu, MF_SEPARATOR, 0, NULL); |
65 | | -// AppendMenuA(hMenu, MF_STRING, MENU_ID_EXIT, "Exit"); |
66 | 39 |
|
67 | 40 | POINT cursorLoc; |
68 | 41 | GetCursorPos(&cursorLoc); |
69 | 42 |
|
70 | | -// HBRUSH color = CreateSolidBrush(RGB(255, 0, 0)); |
71 | | -// MENUINFO menuInfo; |
72 | | -// memset(&menuInfo, 0, sizeof(MENUINFO)); |
73 | | -// menuInfo.cbSize = sizeof(MENUINFO); |
74 | | -// menuInfo.fMask = MIM_BACKGROUND | MIM_APPLYTOSUBMENUS; |
75 | | -// menuInfo.hbrBack = color; |
76 | | -// SetMenuInfo(hMenu, &menuInfo); |
77 | | - |
78 | 43 | SetForegroundWindow(hwnd); // needed to make the menu automatically close when it looses focus |
79 | 44 | TrackPopupMenu(hMenu, TPM_BOTTOMALIGN | TPM_RIGHTALIGN, cursorLoc.x, cursorLoc.y, 0, hwnd, NULL); |
80 | 45 | SendMessage(hwnd, WM_NULL, 0, 0); |
81 | 46 | DestroyMenu(hMenu); |
82 | 47 | DestroyMenu(hMenuContainer); |
83 | | -// DeleteObject(color); |
84 | | - break; |
85 | | - default: |
86 | | - break; |
87 | 48 | } |
88 | 49 | break; |
89 | 50 | case WM_COMMAND: |
90 | 51 | switch (LOWORD(wParam)) { |
91 | 52 | case ID_TRAY_MENU_ABOUT: |
92 | 53 | MessageBoxA(NULL, "Created by Andrew Howard, <divisionind.com>. View the github " |
93 | 54 | "at https://github.com/divisionind/AutoRun for more info.", "AutoRun v" AUTORUN_VERSION_ST, MB_OK | MB_ICONINFORMATION); |
94 | | -// DialogBox(NULL, MAKEINTRESOURCE(ID_DIALOG_TEST), NULL, DialogProcInfo); |
95 | 55 | break; |
96 | 56 | case ID_TRAY_MENU_EXIT: |
97 | 57 | PostQuitMessage(0); |
|
0 commit comments