;-icon.asm------------------------------------------------------------------- ; x86 - Dos & Win32 - Assembly Language Programming ; ; ; ; Written by: John A Lyons ; ; Email : sysop@megablast.8k.com ; ; Page : http://www.asmsource.8k.com/ ; ; Compiler : Masm32 v6.13 Microsoft Macro Assembler ; ; Date : 28-Dec-2000 ; ; Purpose : Uses an icon to replece the boring windows default. Very ; ; simple program, but important use of resource file ; ; ; ;---------------------------------------------------------------------------- ; Compile with nmake ; .386 ; 32-Bit when .386 appears before .MODEL .MODEL FLAT , STDCALL include windows.inc include user32.inc include kernel32.inc include gdi32.inc includelib user32.lib includelib kernel32.lib includelib gdi32.lib EXTRN wsprintfA:PROC .const IDI_ICON1 equ 5 .data ClassName db "SimpleWinClass",0 AppName db "Icon",0 .data? hInstance HINSTANCE ? CommandLine LPSTR ? hwnd HWND ? hdc HDC ? temp db 100 dup(0) .code WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:SDWORD LOCAL wc:WNDCLASSEX LOCAL msg:MSG ; LOCAL hInst:HINSTANCE mov wc.cbSize,SIZEOF WNDCLASSEX mov wc.style, CS_HREDRAW or CS_VREDRAW mov wc.lpfnWndProc, OFFSET WndProc mov wc.cbClsExtra,NULL mov wc.cbWndExtra,NULL mov eax,hInstance mov wc.hInstance,eax ; push hInstance ; pop wc.hInstance invoke LoadIcon, hInstance, IDI_ICON1 mov wc.hIcon,eax mov wc.hbrBackground,COLOR_WINDOW+1 mov wc.lpszMenuName,NULL mov wc.lpszClassName,OFFSET ClassName invoke LoadIcon,NULL,IDI_APPLICATION ; mov wc.hIcon,eax mov wc.hIconSm,0 invoke LoadCursor,NULL,IDC_ARROW mov wc.hCursor,eax invoke RegisterClassEx, addr wc