Ассемблер для Windows


         

В Как сделать так чтобы при минимизации окна значок его помещался бы на системную панель? - часть 2


// файл tray.rc // определение констант #define WS_SYSMENU 0x00080000L #define WS_MINIMIZEBOX 0x00020000L #define WS_MAXIMIZEBOX 0x0001OOOOL #define DS_3DLOOK 0x0004L

// идентификаторы #define IDI_ICON1 1

// определили иконку IDI_ICON1 ICON "ico1.ico"

//определение диалогового окна DIAL1 DIALOG 0, 0, 250, 110 STYLE WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | DS_3DLOOK CAPTION "Поместить иконку на системную панель" FONT 8, "Arial" { }

; файл tray.inc ; константы NIM_ADD equ 0h ; добавить иконку на системную панель NIM_MODIFY equ 1h ; удалить иконку NIM_DELETE equ 2h ; модифицировать иконку NIF_MESSAGE equ 1h ; использовать поле hIcon NIF_ICON equ 2h ; использовать поле uCallbackMessage NIF_TIP equ 4h ; использовать поле szTip FLAG equ NIF_MESSAGE or NIF_ICON or NIF_TIP

SIZE_MINIMIZED equ 1h SW_HIDE equ 0 SW_SHOWNORMAL equ 1

; сообщение приходит при закрытии окна WM_CLOSE equ 10h WM_INITDIALOG equ 110h WM_SIZE equ 5h WM_LBUTTONDBLCLK equ 203h WM_LBUTTONDOWN equ 201h

; прототипы внешних процедур IFDEF MASM EXTERN ShowWindow@8:NEAR EXTERN LoadIconA@8:NEAR EXTERN lstrcpy@8:NEAR EXTERN Shell_NotifyIconA@8:NEAR EXTERN ExitProcess@4:NEAR EXTERN GetModuleHandleA@4:NEAR EXTERN DialogBoxParamA@20:NEAR EXTERN EndDialog@8:NEAR EXTERN SendDlgItemMessageA@20:NEAR ELSE EXTERN ShowWindow:NEAR EXTERN LoadIconA:NEAR EXTERN lstrcpy:NEAR EXTERN Shell_NotifyIconA:NEAR EXTERN ExitProcess:NEAR EXTERN GetModuleHandleA:NEAR EXTERN DialogBoxParamA:NEAR EXTERN EndDialog:NEAR EXTERN SendDlgItemMessageA:NEAR ShowWindow@8 = ShowWindow LoadIconA@8 = LoadIconA lstrcpy@8 = lstrcpy Shell_NotifyIconA@8 = Shell_NotifyIconA ExitProcess@4 = ExitProcess GetModuleHandleA@4 = GetModuleHandleA DialogBoxParamA@20 = DialogBoxParamA EndDialog@8 = EndDialog SendDlgItemMessageA@20 = SendDlgItemMessageA ENDIF

; структуры ; структура сообщения MSGSTRUCT STRUC MSHWND DD ? MSMESSAGE DD ? MSWPARAM DD ? MSLPARAM DD ? MSTIME DD ? MSPT DD ? MSGSTRUCT ENDS

; структура для функции Shell_NotifyIcon NOTI_ICON STRUC cbSize DWORD ? hWnd DWORD ? uID DWORD ? uFlags DWORD ? uCallbackMessage DWORD ? hIcon DWORD ? szTip DB 64 DUP (?) NOTI_ICON ENDS




Содержание  Назад  Вперед