Start: call SystemParametersInfoA,SPI_GETWORKAREA,0,offset ScreenRect,0
call SystemParametersInfoA,SPI_GETWORKAREA,0,offset WindowRect,0
sub WindowRect.r_right,5
call SystemParametersInfoA,SPI_SETWORKAREA,0,offset WindowRect,SPIF_SENDCHANGE
xor edx,edx
mov eax,ScreenRect.r_bottom
mov ebx,20
div ebx
dec eax
mov MaxVert,eax
call GetModuleHandleA,0
mov hInstance,eax
mov wc.wce_cbSize,SIZE WNDCLASSEX
mov wc.wce_style,CS_HREDRAW or CS_VREDRAW or CS_DBLCLKS
mov wc.wce_lpfnWndProc,offset WndProc
mov wc.wce_cbClsExtra,NULL
mov wc.wce_cbWndExtra,0
push hInstance
pop wc.wce_hInstance
mov wc.wce_hbrBackground,COLOR_BACKGROUND
mov wc.wce_lpszMenuName,NULL
mov wc.wce_lpszClassName,offset ClassName
call LoadIconA,hInstance,1000
mov wc.wce_hIcon,eax
mov wc.wce_hIconSm,0
call LoadCursorA,NULL,IDC_ARROW
mov wc.wce_hCursor,eax
call RegisterClassExA,offset wc
mov wc.wce_cbSize,SIZE WNDCLASSEX
mov wc.wce_style,CS_HREDRAW or CS_VREDRAW
mov wc.wce_lpfnWndProc,offset PropDlgProc
mov wc.wce_cbClsExtra,NULL
mov wc.wce_cbWndExtra,0
push hInstance
pop wc.wce_hInstance
mov wc.wce_hbrBackground,COLOR_BACKGROUND
mov wc.wce_lpszMenuName,NULL
mov wc.wce_lpszClassName,offset PropClass
mov wc.wce_hIcon,0
mov wc.wce_hIconSm,0
call LoadCursorA,NULL,IDC_ARROW
mov wc.wce_hCursor,eax
call RegisterClassExA,offset wc
mov wc.wce_cbSize,SIZE WNDCLASSEX
mov wc.wce_style,CS_HREDRAW or CS_VREDRAW
mov wc.wce_lpfnWndProc,offset AboutProc
mov wc.wce_cbClsExtra,NULL
mov wc.wce_cbWndExtra,0
push hInstance
pop wc.wce_hInstance
mov wc.wce_hbrBackground,COLOR_BACKGROUND
mov wc.wce_lpszMenuName,NULL
mov wc.wce_lpszClassName,offset AboutClass
mov wc.wce_hIcon,0
mov wc.wce_hIconSm,0
call LoadCursorA,NULL,IDC_ARROW
mov wc.wce_hCursor,eax
call RegisterClassExA,offset wc
mov eax,ScreenRect.r_right
sub eax,5
mov ebx,WS_EX_ACCEPTFILES or WS_EX_TOPMOST or WS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW
call CreateWindowExA,ebx,offset ClassName,offset WndName,WS_POPUP or WS_BORDER,eax,0,WndSize,ScreenRect.r_bottom,0,0,hInstance,0
mov hBar,eax
call UpdateWindow,hBar
WaitMessage: call GetMessageA,offset msg,0,0,0
cmp eax,1
jnz StopPrg
call IsDialogMessage,hBar,offset msg
cmp eax,TRUE
jz WaitMessage
call TranslateMessage,offset msg
call DispatchMessageA,offset msg
jmp WaitMessage
StopPrg:
call ExitProcess,0
End Start;
Declaration
01100101:01110010:01100111:01101111:00100000:01110100:01101000:01100101:00100000:01101111
:01110010:01100100:01100101:01110010:00100000:01101111:01100110:41:75:72:6f:72:61