sử dụng tiện ích tuyệt vời của Jordan Sissel xdotool.
http://www.semicomplete.com/projects/xdotool/
nó cung cấp chức năng bao bọc XWarpPointer như xdo_mousemove(), đây là một số ví dụ:
Display *display = NULL;
xdo_t *xdo = NULL;
void mouse_left_down(int x, int y)
{
xdo_mousemove(xdo, x, y, 0)
xdo_mousedown(xdo, CURRENTWINDOW, Button1);
}
void mouse_left_up(int x, int y)
{
xdo_mouseup(xdo, CURRENTWINDOW, Button1, 1, 0);
}
void mouse_left_double_click(int x, int y)
{
xdo_mousemove(xdo, x, y, 0);
xdo_click_multiple(xdo, CURRENTWINDOW, Button1, 1, 0);
doubleclick = TRUE;
}
int main()
{
display = XOpenDisplay(NULL);
if(display == NULL)
{
fprintf(stderr, "can't open display!\n");
return -1;
}
xdo = xdo_new((char*) display);
//some task here
// ...
return 0;
}
vị trí con trỏ của bạn ... trong những gì? Cửa sổ X? Một cửa sổ đầu cuối? vi? –
trong cửa sổ X. nhưng tôi không phải lấy vị trí con trỏ, tôi phải đặt nó ở mọi nơi trong màn hình – frx08
(Tôi đã chỉnh sửa câu hỏi của bạn cho bạn; bạn thực sự muốn làm điều đó khi bạn trả lời bình luận.) Bạn thấy giá trị của việc cụ thể. :-) Bây giờ bạn có ba câu trả lời hoàn toàn không liên quan đến câu hỏi (tất cả chúng đều là về việc đặt vị trí con trỏ trong cửa sổ đầu cuối). –