溫馨提示×

c語言怎么獲取鼠標當前位置

小億
312
2023-08-10 15:40:35
欄目: 編程語言

在C語言中,要獲取鼠標的當前位置,需要使用操作系統提供的相關函數。

在Windows操作系統中,可以使用GetCursorPos函數獲取鼠標的當前坐標。該函數的原型為:

BOOL GetCursorPos(LPPOINT lpPoint);

其中,lpPoint是一個指向POINT結構的指針,用于存儲鼠標的坐標。

下面是一個示例代碼,演示如何使用GetCursorPos函數獲取鼠標的當前位置:

#include <windows.h>
int main() {
POINT cursorPos;
if (GetCursorPos(&cursorPos)) {
printf("鼠標當前位置:(%d, %d)\n", cursorPos.x, cursorPos.y);
} else {
printf("獲取鼠標位置失敗\n");
}
return 0;
}

在Linux操作系統中,可以使用X11庫提供的函數獲取鼠標的當前位置。

下面是一個示例代碼,演示如何使用X11庫獲取鼠標的當前位置:

#include <stdio.h>
#include <X11/Xlib.h>
int main() {
Display *display;
Window root;
XEvent event;
int x, y;
display = XOpenDisplay(NULL);
root = DefaultRootWindow(display);
XQueryPointer(display, root, &event.xbutton.root, &event.xbutton.window, &event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y, &event.xbutton.state);
x = event.xbutton.x;
y = event.xbutton.y;
printf("鼠標當前位置:(%d, %d)\n", x, y);
XCloseDisplay(display);
return 0;
}

注意,Linux下使用X11庫獲取鼠標位置的代碼需要連接X11庫,可以使用以下命令進行編譯:

gcc -o get_mouse_position get_mouse_position.c -lX11

上述代碼僅演示了如何獲取鼠標的當前位置,實際應用中可能需要結合其他代碼進行處理。

0