APP后台运行收到的USB数据怎么模拟鼠标左/右键并给桌面当前所有应用程序
APP后台运行收到的USB数据如何模拟鼠标左/右键并给桌面当前所有应用程序.
我的能够收入托盘的VC程序连接一个USB设备, 该USB设备会发送些数据来控制鼠标在屏幕移动.
现在我程序收到托盘中后, 打开小画家, 程序可以接收USB数据并驱动鼠标移动,但是发现模拟鼠标左键/右键时候, 没有反应. 需要用真实的鼠标在小画家软件上点击, 让小画家软件激活成活跃模式, 才可以在小画家上模拟鼠标左右键.
if((pUSB_Data->Pressure >= MyProject.PressTrig) || (pUSB_Data->Keys.KeyField.LEFT) )
{
if(!(MyProject.Pressed & LEFT_KEY))
{
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
MyProject.Pressed |= LEFT_KEY;
}
}
else if(MyProject.Pressed & LEFT_KEY)
{
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
MyProject.Pressed &= ~LEFT_KEY;
}
请问当我APP程序收到托盘后, APP后台运行收到的USB数据如何模拟鼠标左/右键并给桌面当前所有应用程序.
------解决方案--------------------
sendinput 函数。。
我的能够收入托盘的VC程序连接一个USB设备, 该USB设备会发送些数据来控制鼠标在屏幕移动.
现在我程序收到托盘中后, 打开小画家, 程序可以接收USB数据并驱动鼠标移动,但是发现模拟鼠标左键/右键时候, 没有反应. 需要用真实的鼠标在小画家软件上点击, 让小画家软件激活成活跃模式, 才可以在小画家上模拟鼠标左右键.
if((pUSB_Data->Pressure >= MyProject.PressTrig) || (pUSB_Data->Keys.KeyField.LEFT) )
{
if(!(MyProject.Pressed & LEFT_KEY))
{
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
MyProject.Pressed |= LEFT_KEY;
}
}
else if(MyProject.Pressed & LEFT_KEY)
{
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
MyProject.Pressed &= ~LEFT_KEY;
}
请问当我APP程序收到托盘后, APP后台运行收到的USB数据如何模拟鼠标左/右键并给桌面当前所有应用程序.
------解决方案--------------------
sendinput 函数。。