Определить координаты курсора и выводить на консоль - C (СИ)
Формулировка задачи:
Нашел, что нужно использовать BOOL GetCursorPos(LPPOINT lpPoint); тут структура typedef struct tagPOINT { LONG x; LONG y; } POINT, *PPOINT;
Как всё это правильно оформить, чтоб на консоль выводило printf("x=%d ,y=%d \r", координатаикс, координатаигрек);
Чистый си. Не получается со структурой разобраться.
Решение задачи: «Определить координаты курсора и выводить на консоль»
textual
Листинг программы
#include <stdio.h> #include <windows.h> int main() { printf("Cursor Position\n"); GetDC(NULL); // дескриптор стола POINT p; // структура для координат while (1){ GetCursorPos(&p); printf("x=%4ld y=%4ld\r",p.x,p.y); Sleep(40); } return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdio.h и windows.h.
- Создание функции main(), которая является точкой входа в программу.
- Вывод на консоль заголовка
Cursor Position
. - Получение дескриптора стола с помощью функции GetDC(NULL).
- Объявление структуры POINT, которая будет использоваться для хранения координат курсора.
- Запуск бесконечного цикла while(1).
- Внутри цикла получение текущих координат курсора с помощью функции GetCursorPos(), передавая в нее указатель на структуру POINT.
- Вывод на консоль текущих координат курсора с помощью функции printf(), используя формат
x=%4ld y=%4ld\r
, где %4ld - это заполнитель для целого числа, а \r — символ возврата каретки, который перемещает курсор в начало текущей строки. - Задержка выполнения программы на 40 миллисекунд с помощью функции Sleep(40).
- Повторение шагов 7-9 до тех пор, пока пользователь не прервет выполнение программы.
- Возврат 0 из функции main(), что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д