mirror of
https://github.com/stasenso/Puer.git
synced 2026-06-26 21:32:42 +03:00
feat(tray): add Unicode sleep toggle menu and preserve tray tooltip on icon updates
This commit is contained in:
+42
-20
@@ -1,33 +1,51 @@
|
||||
__UNICODE__ equ 1
|
||||
include /masm64/include64/masm64rt.inc
|
||||
include /masm64/include64/user32.inc
|
||||
include /masm64/include64/shell32.inc
|
||||
includelib /masm64/lib64/user32.lib
|
||||
includelib /masm64/lib64/shell32.lib
|
||||
;______________________Прототипы__________________________
|
||||
;______________________Prototypes__________________________
|
||||
WinMain proto :HINSTANCE,:HINSTANCE,:LPSTR,:QWORD
|
||||
|
||||
myPaint proto :HWND ;Обработка сообщения WM_PAINT
|
||||
myDraw proto nSegment:DWORD ;принимаю параметр с колличеством сегментов (в HIWORD) и номером данного сегмента (в LOWORD)
|
||||
myPaint proto :HWND ; WM_PAINT handler
|
||||
myDraw proto nSegment:DWORD ; segment draw helper
|
||||
|
||||
WM_SHELLNOTIFY equ WM_USER+5
|
||||
IFNDEF NIM_SETVERSION
|
||||
NIM_SETVERSION equ 4
|
||||
ENDIF
|
||||
IFNDEF NOTIFYICON_VERSION_4
|
||||
NOTIFYICON_VERSION_4 equ 4
|
||||
ENDIF
|
||||
IFNDEF NIF_SHOWTIP
|
||||
NIF_SHOWTIP equ 80h
|
||||
ENDIF
|
||||
;_______________________________________________________
|
||||
.data?
|
||||
hInstance HINSTANCE ? ; Хэндл нашей пpогpаммы
|
||||
hInstance HINSTANCE ? ; app instance handle
|
||||
CommandLine LPSTR ?
|
||||
hIcon dq ?
|
||||
sleepBlockEnabled dq ?
|
||||
|
||||
TRAYICONDATAA STRUCT
|
||||
cbSize DWORD ?
|
||||
_pad0 DWORD ?
|
||||
hWnd QWORD ?
|
||||
uID DWORD ?
|
||||
uFlags DWORD ?
|
||||
uCallbackMessage DWORD ?
|
||||
_pad1 DWORD ?
|
||||
hIcon QWORD ?
|
||||
szTip BYTE 128 dup(?)
|
||||
TRAYICONDATAA ENDS
|
||||
NOTIFYICONDATAW STRUCT
|
||||
cbSize DWORD ?
|
||||
_pad0 DWORD ?
|
||||
hWnd QWORD ?
|
||||
uID DWORD ?
|
||||
uFlags DWORD ?
|
||||
uCallbackMessage DWORD ?
|
||||
_pad1 DWORD ?
|
||||
hIcon QWORD ?
|
||||
szTip WORD 128 dup(?)
|
||||
dwState DWORD ?
|
||||
dwStateMask DWORD ?
|
||||
szInfo WORD 256 dup(?)
|
||||
uTimeoutOrVersion DWORD ?
|
||||
szInfoTitle WORD 64 dup(?)
|
||||
dwInfoFlags DWORD ?
|
||||
guidItem BYTE 16 dup(?)
|
||||
hBalloonIcon QWORD ?
|
||||
NOTIFYICONDATAW ENDS
|
||||
|
||||
BITMAPINFOHEADER STRUCT
|
||||
biSize DWORD ?;
|
||||
@@ -56,18 +74,22 @@ hPopupMenu dq ?
|
||||
|
||||
;_______________________________________________________
|
||||
.data
|
||||
szClassName db "CocaClass",0 ; Имя нашего класса окна
|
||||
AppName db "Pu'er tea: no sleeping on the job!",0 ; Имя нашего окна
|
||||
szClassName dw "C","o","c","a","C","l","a","s","s",0 ; window class name
|
||||
AppName dw 0050h,0075h,0027h,0065h,0072h,0020h,0074h,0065h,0061h,003ah,0020h,041dh,0430h,0020h,0440h,0430h,0431h,043eh,0442h,0435h,0020h,043dh,0435h,0020h,0441h,043fh,0438h,043ch,0021h,0D83Dh,0DE00h,0; window title / tray tip
|
||||
ELAPSE_UPDTIMER EQU 20
|
||||
IDT_UPDTIMER EQU 111
|
||||
wc WNDCLASSEX <sizeof WNDCLASSEX,CS_HREDRAW or CS_VREDRAW,WndProc,0,0,?,?,?,COLOR_WINDOW+1,NULL,szClassName,?>
|
||||
bmi BITMAPINFO <>
|
||||
rc RECT <>
|
||||
RestoreString db "&Restore",0
|
||||
ExitString db "E&xit Program",0
|
||||
note TRAYICONDATAA <>
|
||||
RestoreString dw "&","R","e","s","t","o","r","e",0
|
||||
ExitString dw 0412h,0026h,044bh,0445h,043eh,0434h,0
|
||||
EnableSleep dw 0420h,0430h,0437h,0440h,0435h,0448h,0438h,0442h,044ch,0020h,0441h,043eh,043dh,0
|
||||
DisableSleep dw 0417h,0430h,043fh,0440h,0435h,0442h,0438h,0442h,044ch,0020h,0441h,043eh,043dh,0
|
||||
note NOTIFYICONDATAW <>
|
||||
IDI_TRAY equ 1
|
||||
IDM_RESTORE equ 1000
|
||||
IDM_ENABLESLEEP equ 1100
|
||||
IDM_DISABLESLEEP equ 1110
|
||||
|
||||
IDM_EXIT equ 1010
|
||||
|
||||
|
||||
Reference in New Issue
Block a user