后台鼠标点击求助。

billcools 2012-10-06 08:14:16
[DllImport("user32.dll", EntryPoint = "PostMessage", CharSet = CharSet.Ansi)]
public static extern int PostMessage(IntPtr hWnd, int msg, int wParm, int lParm);

private const int MOUSEEVENTF_LEFTDOWN = 0x0002; /* left button down */
private const int MOUSEEVENTF_LEFTUP = 0x0004; /* left button up */

private void mClick(IntPtr hWnd, int mposx, int mposy)
{
PostMessage(hWnd, MOUSEEVENTF_LEFTDOWN, 0, mposx + (mposy << 16));
System.Threading.Thread.Sleep(500);
PostMessage(hWnd, MOUSEEVENTF_LEFTUP, 0, mposx + (mposy << 16));

}
请问,已经获取句柄,但是PostMessage传递的鼠标事件没反应是怎么回事?
Ps:键盘按键可以正确发送
...全文
525 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
billcools 2012-10-06
  • 打赏
  • 举报
回复
问题是我用循环的方式测试鼠标是否移动点击,但是貌似仍然没有移动事件,只有点击事件。
crystal_lz 2012-10-06
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

引用 13 楼 的回复:
程序1

C# code

public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
}
[DllImport("user32.dll")]
public static extern int……


请问,是不是我的坐标点计算方式有问题?
Pos……
[/Quote]
哦没有问题 不过个人跟癖好 [(y << 16) | x]
计算是没有问题 问题的关键就在于 你的 x 和 y本身的值了 还有 你要点击的目标是否找准了
billcools 2012-10-06
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
程序1

C# code

public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
}
[DllImport("user32.dll")]
public static extern int……
[/Quote]

请问,是不是我的坐标点计算方式有问题?
PostMessage(hWnd, WM_LBUTTONDOWN, 0, mposx + (mposy << 16));
billcools 2012-10-06
  • 打赏
  • 举报
回复
刚才查了MSDN改了
private const int WM_LBUTTONDOWN = 0x0201; /* left button down */
private const int WM_LBUTTONUP = 0x0202; /* left button up */
但还是不行。
请问是不是应该用private const int WM_MOUSEMOVE = 0x0200;
坐标点该怎么传递呢?
crystal_lz 2012-10-06
  • 打赏
  • 举报
回复
还有 楼主 你确定你用的是
private const int MOUSEEVENTF_LEFTDOWN = 0x0002; /* left button down */
private const int MOUSEEVENTF_LEFTUP = 0x0004; /* left button up */
?????
这个冒失 是 mouse_event() 函数用的参数吧
crystal_lz 2012-10-06
  • 打赏
  • 举报
回复
程序1

public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
}
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int uMsg, IntPtr wParam, IntPtr lParam);
public const int WM_LBUTTONDOWN = 0x201;
public const int WM_LBUTTONUP = 0x202;

private void button1_Click(object sender, EventArgs e) {
SendMessage((IntPtr)(0x0005072A), WM_LBUTTONDOWN, IntPtr.Zero, (IntPtr)(0x000F000F));
Thread.Sleep(500);
SendMessage((IntPtr)(0x0005072A), WM_LBUTTONUP, IntPtr.Zero, (IntPtr)(0x000F000F));
}
}

其中 0x0005072A 是程序2中窗体上面的一个按钮
0x000F000F 是按钮左上角 15,15的位置
程序2

public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
}

private void Form1_MouseDown(object sender, MouseEventArgs e) {
this.Text = "MouseDown" + e.Location.ToString();
}

private void Form1_MouseUp(object sender, MouseEventArgs e) {
this.Text = "MouseUp" + e.Location.ToString();
}

private void button1_Click(object sender, EventArgs e) {
MessageBox.Show("MouseClick");
}
}

对于PostMessage 和 SendMessage 大多数情况下 个人癖好 Send
Send是直接调用目标的消息处理函数知道返回
Post只管把消息投递到目标消息队列由目标的GetMessage函数取出然后传递给消息处理函数
billcools 2012-10-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
C# code

private const Int32 WM_LBUTTONDOWN = 0x201;
private const Int32 WM_LBUTTONUP = 0x202;

PostMessage(hWnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(hWnd, WM_LBUTTONUP, 0, 0);



我的意思是这样啊
既……
[/Quote]

请问,你的意思是后台的鼠标移动用另外的方式传递吗?
billcools 2012-10-06
  • 打赏
  • 举报
回复
不传递坐标,怎么能知道具体点击哪里呢?
SocketUpEx 2012-10-06
  • 打赏
  • 举报
回复

private const Int32 WM_LBUTTONDOWN = 0x201;
private const Int32 WM_LBUTTONUP = 0x202;

PostMessage(hWnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(hWnd, WM_LBUTTONUP, 0, 0);


我的意思是这样啊
既然已经知道要点击的句柄了,难道Windows不会自己去找坐标吗?
还需要传入坐标吗?
如果我传入一个正确的句柄
又传入一个错误的坐标
会怎么样呢?

billcools 2012-10-06
  • 打赏
  • 举报
回复
因为这样不影响前台操作,鼠标在后台到指定坐标点击
SocketUpEx 2012-10-06
  • 打赏
  • 举报
回复
我很少使用PostMessage和SendMessage发送鼠标消息
我有一个小疑问啊
既然已经知道要点击的句柄了,为什么还要坐标啊?直接写0,0或者10,10行不行呢?

billcools 2012-10-06
  • 打赏
  • 举报
回复
请问能给个具体代码吗?谢谢
crystal_lz 2012-10-06
  • 打赏
  • 举报
回复
至于坐标 坐标应该是目标句柄的一个客服区坐标
crystal_lz 2012-10-06
  • 打赏
  • 举报
回复
如果说 我有一个窗体Frm1 窗体上面有一个按钮Button1
如果 我想通过PostMessage来像Button1发送一个鼠标模拟
PostMessage(Button1.Handle,WM_.......)
而不是
PostMessage(Frm1.Handle,WM_.....)
billcools 2012-10-06
  • 打赏
  • 举报
回复
刚才又试了试发现鼠标点击传递过去了,但是坐标好像不对,请问怎么后台发送指定坐标点击呢
billcools 2012-10-06
  • 打赏
  • 举报
回复
坐标对的,请问引用什么API。。不是引用PostMessage就可以了么。。。
能否给个代码。。谢谢
threenewbee 2012-10-06
  • 打赏
  • 举报
回复
坐标计算是否正确。
一品梅 2012-10-06
  • 打赏
  • 举报
回复
mclick,你没引用相应的API DLLIMPORT
一个经过完善设计的经典网上购物系统,适用于各种服务器环境的高效网上购物系统解决方案,shopxp购物系统8.0是我们首次推出的免费购物系统源码,完整可用。我们的系统是免费的不需要购买,该系统经过全面测试完整可用,如果碰到问题,先检查一下本地的配置或到官方网站提交问题求助: 四种风格红 蓝 绿 粉,枯燥单调的界面风格,是商家们的最大的难题。后台鼠标轻轻一点,网站风格不停的变!会给您和您的客户带来很多惊喜! 网站管理地址:http://你的网址/admin/login.asp 用户名:admin 密 码:admin 三大强项 1.商品支持3级分类:纵观国内网店的发展趋势,仅二级分类的商城系统已经远远被淘汰了。已经具备发展规模的网店都已经是3级分类。 2.商品多元化展示:您的商品肯定会有不同颜色、不同尺寸、不同包装、不同样式....等等的同一产品,如果您的商城系统达不到这一功能,就 会给您的客户缩小他选购的空间,因为他不知道自己该如何下订单,如何购买他想要的颜色,他想要的尺寸 型号规格 3.新闻、专题均可分类:远古时代的商城系统新闻是没有分类的,严重影响客户对贵商城的了解与信任。闻可以自由划分为本站(本公司)的分 类,比如卓越网的卓越动态,专题也是如此,比如“淘宝网”的购物指南。 八大优势 1.商城广告位后台支持插入flash动画 即.swf文件:shopxp支持flash动画的后台插入,并且flash与图片可自由切换 2.管理员权限自定义:shopxp后台的管理员权限是自由划分的,具体可划分到某一个操作。 3.左侧商品分类两种展示样式 :系统内部集成两种分类风格,一种是合并的,当鼠标指向大类显示小类,另一种是大类小类全部展开的。后台 自由切换 4.商品大图小图高、宽后台调整 :全站的图片都可调整大小即高、宽,方便不同类型的产品更好的展示给客户 5.商品组合图展示:商品介绍页面的组合图展示是目前互联网最优秀、最完美的商品图片显示方法,让客户从更多角度来了解商品的设计与个性 6.整合了动网最新版论坛:论坛用户与商城用户实现同一账号登陆,只需要注册一次。不影响跟随动网升级。 7.MATA值自定义:可以针对某一件商品设置它的关键词 标题 <开源版本>
主要特点: 1、优化会员注册页面,全部采用ajax无刷新提示; 2、强大而灵活的邮件提醒机制:N天未登录提醒、同城好友推荐提醒、生日提醒等,有效提升会员粘性; 3、增加礼物中心。礼物中心可在后台添加新分类、新礼物,并且可以设置礼物价格、VIP会员折扣等; 4、 VIP支付中心。升级VIP会员后可查看对方联系方式,拥有更多主动权,同时可优先在搜索结果中排名优先,可在网站显著位置推荐、首页推荐等。优化和美化元VIP支付模块,界面更清爽直观,功能更直接适用。用户在线支付后可以自动升级为VIP会员,或自动更新M币增加,真正实现了在线支付的自动化、自助化; 5、用户可申请首页推荐,管理员收到通知后可以选择是否通知,并告知其理由; 6、将首页的会员推荐和排行榜推荐分开,排行榜推荐单独用页面展示,用户用积分即可自动申请上榜; 7、增加会员顶部黄金推荐位功能,用户点击后可以申请,按天数收费,费用额度可以由站长设定。此为增加站长盈利渠道的方式; 8、增加诚信星级认证系统,将资料完整度、相片数、是否设置头像、是否通过身份通认证、用户近30日登陆天数、空间访问人气等指标综合,得出星级,根据会员的资料完整度进行星级标识; 9、增加心灵匹配测试系统,用户通过测试后,能够更好地了解自己和他人。通过测试后,会在其个人主页解读其恋爱类型和交往提示; 10、增加梦缘推荐功能,用户设置择偶标准后,系统会按照最后登录、活跃度等指标,为其推荐同城异性会员; 11、扩充会员资料,增加择偶标准、个性资料、约会宝典、幸福宣言等分类,方便用户更好地了解自己和他人; 12、增加求助中心,用户可悬赏积分提出问题,回答满意者可以结贴赠送积分。也可以增加悬赏积分。; 13、增加1+1约会功能,用户通过身份通实名认证后,可以发起约会邀请,感兴趣的会员可以表示关注、报名等等操作。; 14、增加成功故事功能,交友成功的会员可以发布两个人的爱情故事,与大家一起分享他们的幸福快乐!; 15、增加后台管理功能,用户的用户名、密码等等全部个人信息,几乎都可以在后台方便地修改更新; 16、增加短信管理功能,可以在后天方便地浏览、删除; 17、可以在后台设置首页推荐会员、首页相片推荐、排行榜推荐等等; 18、可以在后天更改会员头像; 19、用户注册添加ajax验证输入框效果,可实时监测用户名、email是否合法、是否已注册;用户名限制不能N位为数字(N可自定义),防止用户用手机号码或者qq注册。 20、完善过滤机制,在留言板、相片和博客评论等处的信息,如果包含4位以上数字或email信息者,发布失败,弹出完善资料,通过站内联系或者升级vip之类的友情提示! 21、保留uchome和uc架构,方便后续版本的升级,方便用户自行安装插件扩展、个人空间模板等; 22、首页幻灯片可在后台方便添加、删除和编辑; 23、增加恋爱资讯模块,管理员可以发布、编辑、删除资讯! 24、后台添加关键词和描述编辑功能,方便搜索引擎收录! 25、后台可编辑关于我们-隐私策略-会员条款-联系我们等页脚信息; 26、增加完善的互助中心系统。管理员可以发布网站使用的帮助主题,会员也可以提出问题,然后全体会员帮助你解答,构建和谐互助的交友氛围! 27、附带完整的全新安装和升级教程,只需鼠标操作,几分钟就可搭建起一个和点梦缘交友网一模一样的交友网站! 28、增加同城异性会员定期推荐邮件功能,对于N(N的数值可在后台配置)天未登录的会员,可以向其邮箱发送同城异性会员推荐邮件!
UCHOME二次开发交友程序 v2.0 GBK :主要特点:1、优化会员注册页面,全部采用ajax无刷新提示;2、强大而灵活的邮件提醒机制:N天未登录提醒、同城好友推荐提醒、生日提醒等,有效提升会员粘性;3、增加礼物中心。礼物中心可在后台添加新分类、新礼物,并且可以设置礼物价格、VIP会员折扣等;4、VIP支付中心。升级VIP会员后可查看对方联系方式,拥有更多主动权,同时可优先在搜索结果中排名优先,可在网站显著位置推荐、首页推荐等。优化和美化元VIP支付模块,界面更清爽直观,功能更直接适用。用户在线支付后可以自动升级为VIP会员,或自动更新M币增加,真正实现了在线支付的自动化、自助化;5、用户可申请首页推荐,管理员收到通知后可以选择是否通知,并告知其理由;6、将首页的会员推荐和排行榜推荐分开,排行榜推荐单独用页面展示,用户用积分即可自动申请上榜;7、增加会员顶部黄金推荐位功能,用户点击后可以申请,按天数收费,费用额度可以由站长设定。此为增加站长盈利渠道的方式;8、增加诚信星级认证系统,将资料完整度、相片数、是否设置头像、是否通过身份通认证、用户近30日登陆天数、空间访问人气等指标综合,得出星级,根据会员的资料完整度进行星级标识;9、增加心灵匹配测试系统,用户通过测试后,能够更好地了解自己和他人。通过测试后,会在其个人主页解读其恋爱类型和交往提示;10、增加梦缘推荐功能,用户设置择偶标准后,系统会按照最后登录、活跃度等指标,为其推荐同城异性会员;11、扩充会员资料,增加择偶标准、个性资料、约会宝典、幸福宣言等分类,方便用户更好地了解自己和他人;12、增加求助中心,用户可悬赏积分提出问题,回答满意者可以结贴赠送积分。也可以增加悬赏积分。;13、增加1 1约会功能,用户通过身份通实名认证后,可以发起约会邀请,感兴趣的会员可以表示关注、报名等等操作。;14、增加成功故事功能,交友成功的会员可以发布两个人的爱情故事,与大家一起分享他们的幸福快乐!;15、增加后台管理功能,用户的用户名、密码等等全部个人信息,几乎都可以在后台方便地修改更新;16、增加短信管理功能,可以在后天方便地浏览、删除;17、可以在后台设置首页推荐会员、首页相片推荐、排行榜推荐等等;18、可以在后天更改会员头像;19、用户注册添加ajax验证输入框效果,可实时监测用户名、email是否合法、是否已注册;用户名限制不能N位为数字(N可自定义),防止用户用手机号码或者qq注册。20、完善过滤机制,在留言板、相片和博客评论等处的信息,如果包含4位以上数字或email信息者,发布失败,弹出完善资料,通过站内联系或者升级vip之类的友情提示!21、保留uchome和uc架构,方便后续版本的升级,方便用户自行安装插件扩展、个人空间模板等;22、首页幻灯片可在后台方便添加、删除和编辑;23、增加恋爱资讯模块,管理员可以发布、编辑、删除资讯!24、后台添加关键词和描述编辑功能,方便搜索引擎收录!25、后台可编辑关于我们-隐私策略-会员条款-联系我们等页脚信息;26、增加完善的互助中心系统。管理员可以发布网站使用的帮助主题,会员也可以提出问题,然后全体会员帮助你解答,构建和谐互助的交友氛围!27、附带完整的全新安装和升级教程,只需鼠标操作,几分钟就可搭建起一个和点梦缘交友网一模一样的交友网站!28、增加同城异性会员定期推荐邮件功能,对于N(N的数值可在后台配置)天未登录的会员,可以向其邮箱发送同城异性会员推荐邮件!

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧