Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



PUSH EDI

PUSH ESI

PUSH EBX

MOV EBP, ESP

PUSH EBP

WNDPROC PROC

JMP END_LOOP

JMP MSG_LOOP

PUSH OFFSET MSG

PUSH OFFSET MSG

JE END_LOOP

CMP EAX, 0

PUSH OFFSET MSG

PUSH 0

PUSH 0

PUSH 0

PUSH SW_SHOWNORMAL

JZ _ERR

CMP EAX,0

PUSH 0

PUSH WS_OVERLAPPEDWINDOW

PUSH 0

PUSH 0

PUSH 0

PUSH OFFSET WC

PUSH 0

PUSH IDC_CROSS

PUSH 1

PUSH 0

P DWORD 0

NEWHWND DD 0

POINT ENDS

POINT STRUCT

RECT ENDS

RECT STRUC

PAINTSTR ENDS

Reserv DB 32 dup(0)

FIncUp DD 0

FRes DD 0

Bottom DD 0

Right DD 0

Top DD 0

Left DD 0

FErase DD 0

Hdc DD 0

PAINTSTR STRUC

WNDCLASS ENDS

L DWORD ? ;X - левого верхнего угла.

T DWORD ? ;Y - левого верхнего угла.

R DWORD ? ;Х - правого нижнего угла.

B DWORD ? ;Y - правого нижнего угла.

X DWORD ?

Y DWORD ?

;сегмент даних

_DATA SEGMENT DWORD PUBLIC USE32 'DATA'

MSG MSGSTRUCT <?>

WC WNDCLASS <?>

RC RECT <?>

PNT PAINTSTR <?>

pPoint POINT <?>

HINST DD 0 ;дескриптор додатку

TITLENAME DB 'Малюнки', 0

CLASSNAME DB 'CLASS32', 0

CAP DB 'Повідомлення', 0

MES1 DB 'Ви натиснули ліву кнопку мишки', 0

MES2 DB 'Вихід з програми', 0

HDC DWORD ?

MEMDC DWORD ?

YM DWORD ?

XM DWORD ?

XP DWORD ?

YP DWORD ?

HBMP DWORD ?

HPEN DWORD ?

HBRUSH DWORD ?

HBRUSH1 DWORD ?

HBRUSH2 DWORD ?

HBRUSH3 DWORD ?

_DATA ENDS

; сегмент коду

_TEXT SEGMENT DWORD PUBLIC USE32 'CODE'

START:

;отримати дескриптор додатку

CALL GetModuleHandleA@4

MOV [HINST], EAX

REG_CLASS:

;заповнити структуру вікна

;стиль вікна

MOV [WC.CLSSTYLE], style

;процедура обробки повідомлень

MOV [WC.CLWNDPROC], OFFSET WNDPROC

MOV [WC.CLSCEXTRA], 0

MOV [WC.CLWNDEXTRA], 0

MOV EAX, [HINST]

MOV [WC.CLSHINSTANCE], EAX

;піктограма вікна

PUSH [HINST]

CALL LoadIconA@8

MOV [WC.CLSHICON] , EAX

;курсор вікна

CALL LoadCursorA@8

MOV [WC.CLSHCURSOR], EAX

PUSH RGBW ;колір пензля

CALL CreateSolidBrush@4 ;створити пензель

MOV [WC.CLBKGROUND], 17

MOV DWORD PTR [WC.CLMENUNAME],0

MOV DWORD PTR [WC.CLNAME], OFFSET CLASSNAME

CALL RegisterClassA@4

;створити вікно зареєстрованого класу

PUSH [HINST]

PUSH 480 ; DY - висота вікна

PUSH 640 ; DX - ширина вікна

PUSH 100 ; Y — координата лівого верхнього кута

PUSH 100 ; X — координата лівого верхнього кута

PUSH OFFSET TITLENAME ;ім’я вікна

PUSH OFFSET CLASSNAME ;ім’я класу

CALL CreateWindowExA@48

; перевірка на помилку

MOV [NEWHWND], EAX;дескриптор вікна

;----------------------------------

PUSH [NEWHWND]

CALL ShowWindow@8;показати створене вікно

;----------------------------------

PUSH [NEWHWND]

CALL UpdateWindow@4;команда перемалювати видиму частину ;вікна, повідомлення WM_PAINT

;цикл обробки повідомлень

MSG_LOOP:

CALL GetMessageA@16

CALL TranslateMessage@4

CALL DispatchMessageA@4

END_LOOP:

;вихід із програми (закрити процес)

PUSH [MSG.MSWPARAM]

CALL ExitProcess@4

_ERR:

;------------------------------------------------------------

; процедура вікна

; розташування параметрів у стеку

; [EBP+14H] LPARAM

; [EBP+10H] WPARAM

; [EBP+0CH] MES

; [EBP+8Н] HWND

CMP DWORD PTR [EBP+0CH], WM_DESTROY




Переглядів: 448

<== попередня сторінка | наступна сторінка ==>
WNDCLASS STRUC | MENUP MENU

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.029 сек.