Реферат: Программа демонстрирующая иерархию окон Windows
<63> ;вызов LPVOID GetEnvironmentStrings (VOID) - получить указатель
;на блок с переменными окружения
<64> ; call GetEnvironmentStringsA ;врегистре еах адрес
<65> ;вызов VOIDGetStartupInfo(LPSTARTUPINFO lpStartupInfo) ;указатель
;на структуру STARTUPINFO
<66> ; push offset lpStartupInfo
<67> ; call GetStartupInfoA
<68> ;вызов HMODULE GetModuleHandleA (LPCTSTR lpModuleName)
<69> push NULL ;0->GetModuleHandle
<70> call GetModuleHandleA ;получить значение базового адреса,
<71> mov hInst, eax ;no которому загружен модуль.
<72> ;далее hInst будет использоваться в качестве дескриптора данного приложения
<73> ;конец стартового кода
<74> WinMain:
<75>;определить класс окна ATOM RegisterClassEx(CONST WNDCLASSEX *lpWndClassEx),
<76> ; где *lpWndClassEx - адрес структуры WndClassEx
<77> ;для начала инициализируем поля структуры WndClassEx
<78> mov wcl.cbSize,typeWNDCLASSEX -.размер структуры
:в wcl.cbCIZE
<79> mov wcl.style,CS_HREDRAW+CS_VREDRAW
<80> mov wcl.pfnWndProg,offsetWindowProg ;адрес оконной процедуры
<81> mov wcl.cbCisExtra,0
<82> mov wcl.cbWndExtra,0
<83> mov eax,hInst
<84> mov ;дискриптор приложения в поле hInstance структуры wcl
<85> mov wcl.hInstance, eax
<86> ;готовим вызов HICON LoadIcon (HINSTANCE hInstance, LPCTSTR lpIconName)
<87> push IDI_APPLICATION ,-стандартный значок
<88> push 0 ;NULL