可以,需要调用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遍历窗口下所有控件,直接对窗口控件发送消息。