C# 我知道了一个窗口的句柄,怎么后台模拟鼠标在句柄窗口内点击呢!

已举报 回答 关注
C# 我知道了一个窗口的句柄,怎么后台模拟鼠标在句柄窗口内点击呢!
问在线客服
扫码问在线客服
  • 回答数

    5

  • 浏览数

    3,903

5个回答 默认排序
  • 默认排序
  • 按时间排序

没明白你的问题,
你直接说在C#里,你要实现什么功能

后台模拟鼠标在句柄窗口内点击??不清楚你要做什么
取消 评论
电脑死机了,配置达不到
取消 评论
[DllImport(user32.dll, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

[DllImport(user32)]
public static extern int SetCursorPos(int x, int y);

private const int MOUSEEVENTF_MOVE = 0x0001; /* mouse move */
private const int MOUSEEVENTF_LEFTDOWN = 0x0002; /* left button down */
private const int MOUSEEVENTF_LEFTUP = 0x0004; /* left button up */
private const int MOUSEEVENTF_RIGHTDOWN = 0x0008; /* right button down */
private const int MOUSEEVENTF_RIGHTUP = 0x0010; /* right button up */
private const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; /* middle button down */
private const int MOUSEEVENTF_MIDDLEUP = 0x0040; /* middle button up */
private const int MOUSEEVENTF_XDOWN = 0x0080; /* x button down */
private const int MOUSEEVENTF_XUP = 0x0100; /* x button down */
private const int MOUSEEVENTF_WHEEL = 0x0800; /* wheel button rolled */
private const int MOUSEEVENTF_VIRTUALDESK = 0x4000; /* map to entire virtual desktop */
private const int MOUSEEVENTF_ABSOLUTE = 0x8000; /* absolute move */
取消 评论
告诉你可以使用API:PostMessage 达到目的
PostMessage(句柄,事件,参数1,参数2)
实例:
PostMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(288, 455));
PostMessage(hWnd, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(288, 455));
这里是坐标是控件内的相对坐标,控件左上角为0,0
取消 评论
可能电脑配置有点低!反应比较慢!
取消 评论
ZOL问答 > 鼠标 > 其他分类 > C# 我知道了一个窗口的句柄,怎么后台模拟鼠标在句柄窗口内点击呢!

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?