Как найти хэндлер рабочего стола? - Assembler
Формулировка задачи:
рабочего стола, но кроме пуска. Чтобы потом используя его размеры развернуть окно на размер рабочего стола. В winspector'e я вижу его класс и хэндлер, но как его найти програмно не знаю.
Решение задачи: «Как найти хэндлер рабочего стола?»
textual
Листинг программы
.DATA? WorkArea RECT <> . . . .CODE invoke SystemParametersInfo, SPI_GETWORKAREA, 0, ADDR WorkArea, 0 mov eax,(RECT PTR WorkArea).left ; левый край mov eax,(RECT PTR WorkArea).right ; правый край mov eax,(RECT PTR WorkArea).top ; верхний край mov eax,(RECT PTR WorkArea).bottom ; нижний край
Объяснение кода листинга программы
- .DATA — сегмент данных
- WorkArea — переменная типа RECT, которая будет содержать координаты рабочего стола
- invoke SystemParametersInfo, SPI_GETWORKAREA, 0, ADDR WorkArea, 0 — функция, которая получает информацию о рабочем столе (его координаты)
- mov eax,(RECT PTR WorkArea).left — перемещение значения левого края рабочего стола в регистр EAX
- mov eax,(RECT PTR WorkArea).right — перемещение значения правого края рабочего стола в регистр EAX
- mov eax,(RECT PTR WorkArea).top — перемещение значения верхнего края рабочего стола в регистр EAX
- mov eax,(RECT PTR WorkArea).bottom — перемещение значения нижнего края рабочего стола в регистр EAX
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д