c语言如何实现控制鼠标

Python016

c语言如何实现控制鼠标,第1张

可以,需要调用windowsAPI函数

头文件windows.h。

简单思路:

通过GetStdHandle获取标准输入句柄

再通过ReadConsokeInput将输入信息存储到结构体类型INPUT_RECODE变量中。

再通过判断,截取到鼠标电击的事件。

具体API函数、参数、功能还有很多。需要网上找资料可以学。

我这里就简单写一个,鼠标点击控制台任意位置,并在该位置打印字符串。

#include <stdio.h>

#include <windows.h>

int main()

{

    HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE) // 获取标准输入设备句柄

    INPUT_RECORD inRec

    DWORD res

    COORD p0

    while(1)

    {

        ReadConsoleInput(hInput, &inRec, 1, &res)

        if (inRec.EventType == MOUSE_EVENT && inRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) //鼠标左键

        {

            p0.X=inRec.Event.MouseEvent.dwMousePosition.X

            p0.Y=inRec.Event.MouseEvent.dwMousePosition.Y

            SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0)

            printf("你在这里点击的左键\n")

        }

    }

    return 0

}

VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo )4个参数都是输入参数。 bVk:键名,例如: VK_NUMPAD7,VK_BACK, VK_TAB,VK_SHIFT,VK_F1,。。。 keybd_event(VK_MENU,0xb8,0 , 0)-- 按下Alt 键 keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0)-- 放开 Alt 键 (复位,弹上来) === 下面程序模拟按 notepad 编辑器。等于C语言 system("notepad")弹出 记事本。

你是想问通过控制鼠标操作播放器播放歌(类似按键精灵那样重复用户操作)。还是直接播放音乐文件。

两种都需要window API支持。

一、直接播放文件,可用函数playSound,头文件windows.h和mmsystem.h。(注意不是支持所有文件格式)。

二、控制鼠标模拟操作:

1、鼠标点击操作可用SendInput函数或keybd_event函数。

2、鼠标移动可用SetCursorPos或mouse_event。

三、通过FundWindow函数获取播放软件的窗口句柄,再通过FindWindowEx遍历窗口下所有控件,直接对窗口控件发送消息。