c# sendmessage 如何实现点下拖动释放
c#中sendmessage如何实现点下拖动释放,有句柄了,不要用mouse_event,我想实现的是后台拖放,不用喊我百度了,请具体代码,当热要通过句柄操作,我是拖窗体...
c#中sendmessage 如何实现点下拖动释放,有句柄了,不要用mouse_event,我想实现的是后台拖放,不用喊我百度了,请具体代码,当热要通过句柄操作,我是拖窗体里面的元素,能实现我要的后台拖放,绝对给分,谢谢!
展开
2个回答
展开全部
[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, Int32 lParam);
void MouseDown(IntPtr hWnd, int x, int y)
{
const int WM_LBUTTONDOWN = 0x0201;
SendMessage(hWnd, WM_LBUTTONDOWN, 1, (y * 65536 + x));
}
void MouseUp(IntPtr hWnd, int x, int y)
{
const int WM_LBUTTONUP = 0x0202;
SendMessage(hWnd, WM_LBUTTONUP, 1, (y * 65536 + x));
}
楼主应该是要这2个函数,SendMessage中第三个参数1,是鼠标左键。
希望对你有帮助。
更多追问追答
追问
朋友谢谢你的答案,我是想从A(x1,y1)鼠标点着拖动B(x2,y2)
你用面这两个是MouseDown(hWnd,x1,y1) 接着MouseUp(hWnd,x2,y2)
我运行没有返应呢,呵呵!解决问题分绝对给,感恩!
追答
没有反应不一定是函数的问题,有些窗体也可能屏蔽了。可以新建一个记事本来试试。这个函数确实就是这么用的,如果被屏蔽依然要使用的话,用硬模拟,这种是后台软模拟
2013-06-28
展开全部
绝对给分 → 10分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询