SendMessage

小曦子 2010-07-29 01:54:56
我想给一个窗体发送消息,就是鼠标的DOWN、UP,但是不行,用SPY++观察会出现DOWN、DWON、UP、UP,造成不能影响,想请教一下这是啥原因呢
...全文
209 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
小曦子 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 youfeng888 的回复:]
sendmessage是发到窗口上,接受到才返回,属于阻塞的;而PostMessage则进消息队列,一旦调用,马上返回;等待系统从队列中取出对应的消息后再返回!
MFC消息机制分析,欢迎提出意见
[/Quote]
- -!!答回所问哦!!!!,我所要当然知道,可是我现在想问的是SPY++为何会监控到我上面所说的情形
youfeng888 2010-07-30
  • 打赏
  • 举报
回复
sendmessage是发到窗口上,接受到才返回,属于阻塞的;而PostMessage则进消息队列,一旦调用,马上返回;等待系统从队列中取出对应的消息后再返回!
MFC消息机制分析,欢迎提出意见
小曦子 2010-07-29
  • 打赏
  • 举报
回复
没有人来说说么
小曦子 2010-07-29
  • 打赏
  • 举报
回复
有发送成功,错误号是返回0的,我是想模拟一下鼠标点击,然后确定目标的按钮位置,可是用SPY++监控的时候会收到DOWN两次同时,UP两次同时,照成不能点击,SPY++只监控目标的,所以有收到,但是就是会出现
LBUTTON_DWON 有显示坐标
LBUTTON_DWON 无显示坐标
LBUTTON_UP 有显示坐标
LBUTTON_UP 无显示坐标
就象上面这样子
bobo364 2010-07-29
  • 打赏
  • 举报
回复
我有一个窗口的hwnd=1234,请编写一个向这个窗口发送键盘上F6的按键的代码,注意只能用sendmessage,不要用其他的api,给出代码对的加分!

代码如下:   发送一   keydown   消息     ,若keyup   则更换之 

Private Declare Function SendMessage Lib "user32 " Alias "SendMessageA " (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const VK_F6 = &H75
Private Const WM_KEYDOWN = &H100

Private Sub Command1_Click()
SendMessage Me.hwnd, WM_KEYDOWN, VK_F6, 0
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF6 Then
MsgBox "Ok "
End If
End Sub
_JeffreyWu 2010-07-29
  • 打赏
  • 举报
回复
不行是什么意思?发送不过去吗?
ayw215 2010-07-29
  • 打赏
  • 举报
回复
显得确认窗口句柄是对的么
如果程序没有做保护,直接sendmessage是ok的
jixingzhong 2010-07-29
  • 打赏
  • 举报
回复
发送的目标是否正确
小曦子 2010-07-29
  • 打赏
  • 举报
回复
来个人,过来帮忙看一下,到底是啥问题呢,为何SPY++会接收到两次相同的,我明明只发送一次么

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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