Как найти хэндлер рабочего стола? - 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  ; нижний край

Объяснение кода листинга программы

  1. .DATA — сегмент данных
  2. WorkArea — переменная типа RECT, которая будет содержать координаты рабочего стола
  3. invoke SystemParametersInfo, SPI_GETWORKAREA, 0, ADDR WorkArea, 0 — функция, которая получает информацию о рабочем столе (его координаты)
  4. mov eax,(RECT PTR WorkArea).left — перемещение значения левого края рабочего стола в регистр EAX
  5. mov eax,(RECT PTR WorkArea).right — перемещение значения правого края рабочего стола в регистр EAX
  6. mov eax,(RECT PTR WorkArea).top — перемещение значения верхнего края рабочего стола в регистр EAX
  7. mov eax,(RECT PTR WorkArea).bottom — перемещение значения нижнего края рабочего стола в регистр EAX

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы