在C语言编程下怎么控制windows系统指针的移动?

Python018

在C语言编程下怎么控制windows系统指针的移动?,第1张

使用用SendInput函数可以控制指针的移动。第二个参数是一个INPUT结构体的数组,第一个参数代表这个数组有几个元素,最后一个参数代表这个数组中每一个元素是几个字节。参考以下代码。

#include <windows.h>

#pragma comment(lib, "user32.lib")

int main() {

INPUT mouseInput

ZeroMemory(&mouseInput, sizeof mouseInput)

mouseInput.type = INPUT_MOUSE

mouseInput.mi.dx = 10

mouseInput.mi.dy = 10

mouseInput.mi.dwFlags = MOUSEEVENTF_MOVE

SendInput(1, &mouseInput, sizeof(mouseInput))

return 0

}

以上代码把鼠标往右移动10往下移动10。使用MOUSEEVENTF_ABSOLUTE这个flag可以指定绝对位置,它把屏幕右下角定义为65535, 65535把左上角定义为0, 0所以

#include <windows.h>

int main() {

INPUT mouseInput

ZeroMemory(&mouseInput, sizeof mouseInput)

mouseInput.type = INPUT_MOUSE

mouseInput.mi.dx = 32767

mouseInput.mi.dy = 32767

mouseInput.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE

SendInput(1, &mouseInput, sizeof(mouseInput))

return 0

}

谭浩强的书挺适合中国学生的,尤其是初级学生学习用的。但是学C自学不容易,最好是有老师带,不然很费力。 学编程的过程是个不断提高与升华的过程,开始学时,看课本,看教程,看视频,做练习,以书上的知识为基础,自己通过做练习去体会,慢慢提升,急不得。 对于C,在掌握了基础知识后,需要确定应用方向,因为linuxC与windowsC开发应用差别很大,侧重点不同,因此,确定应用方向很重要。 如果喜欢研究C,则可以向linux unix C方向发展,因为,这才是C的真正战场,这时,可以看一下linuxC高级编程。 在自己水平不断提升过程中,慢慢的把书本转向老外的书,毕竟这门技术是从老外那里发展起来的,翻译过来的书,因翻译者的水平和习惯不同,可能会产生各种不同的差异认识,所以,读原著有助于更好的理解,从中慢慢去体会各种应用与技术特点,真正深入了解C。但这不适合初级学者。 总的来说,学C编程应用才是硬道理,用的多了,理解自然深刻。书要看,从中了解原理多应用,从应用中去体会知识,成为高手,这需要时间和过程