后台操作mouse ,如何实现SetCursorPos,这样的效果? SetCursorPos只能是前台的,有没后台操作的办法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 Windows 消息模拟,因为真实的鼠标无论怎么动,也就是向指定的窗口发送Windows消息而已,如果你想真实的鼠标不动,又能让指定窗口相应你所谓“后台”的鼠标运动效果,只能模拟鼠标发消息给那个窗口。 1 PostMessage(hWnd2,WM_MOUSEMOVE, MK_LBUTTON, MAKELONG(648,416)); 2 PostMessage(hWnd2, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(648,416));3 PostMessage(hWnd2, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(648,416)); 1 好像没移动mouse,模拟mouse定位不到 648,416...这步好像没反应 楼主可以使用SendInput()这个API函数模拟鼠标动作,给一个示例:void MouseMove (int x, int y ){ double fScreenWidth = ::GetSystemMetrics( SM_CXSCREEN )-1; double fScreenHeight = ::GetSystemMetrics( SM_CYSCREEN )-1; double fx = x*(65535.0f/fScreenWidth); double fy = y*(65535.0f/fScreenHeight); INPUT Input={0}; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE; Input.mi.dx = fx; Input.mi.dy = fy; ::SendInput(1,&Input,sizeof(INPUT));}可以象这样调用:MouseMove(100,100); 我想要后台模拟,SendInput会影响当前的mouse操作 我的一个MFC程序在长路径下启动不了,但另外一个可以启动 请问如何拷贝MessageBox消息框中的文字? 用dumpbin命令查看dll中哪些函数被导出了出错!! 再求 如何在 MFC 新添加SCrollView的子类中使用Timer 如何保存listview某一行的指针? 我是新手,希望大家能帮忙!! 菜单问题,帮帮忙! 医学图像处理软件研发,还是MES基础上的开发???Help 关于表格输出,请指点! 用以下的方法生成一个选择框以后,为何在失去一次焦点后,虚框不能去掉? MFC规则DLL中的类的导出问题。 #include "resources.h"怎么打开?
发送Windows消息而已,如果你想真实的鼠标不动,又能让指定窗口相应你
所谓“后台”的鼠标运动效果,只能模拟鼠标发消息给那个窗口。
void MouseMove (int x, int y )
{
double fScreenWidth = ::GetSystemMetrics( SM_CXSCREEN )-1;
double fScreenHeight = ::GetSystemMetrics( SM_CYSCREEN )-1;
double fx = x*(65535.0f/fScreenWidth);
double fy = y*(65535.0f/fScreenHeight);
INPUT Input={0};
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE;
Input.mi.dx = fx;
Input.mi.dy = fy;
::SendInput(1,&Input,sizeof(INPUT));
}可以象这样调用:MouseMove(100,100);