关于vb sendmessage的问题

我希望通过运行该程序,按下指定的热键以获取在其他程序中鼠标选中的字符串。m=SendMessage(hactive,WM_GETTEXT,strlong,ByValstr... 我希望通过运行该程序,按下指定的热键以获取在其他程序中鼠标选中的字符串。
m = SendMessage(hactive, WM_GETTEXT, strlong, ByVal str)
hactive是当前活动的窗口,字符串变量被存入str变量中.
经过测试句柄并没有出现取错的现象.
但是str始终是活动窗口的标题而非选中的文本。
请问是哪里出错了吗?还是这里不能用GETTEXT的命令
展开
 我来答
帐号已注销
2013-05-23 · TA获得超过242个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:268万
展开全部
Private Type POINTAPI
x As Long
y As Long
End Type

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function WindowFromPoint Lib "user32" Alias "WindowFromPoint" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Dim pt as POINTAPI
Dim hnd as long
GetCursorPos pt '先得到鼠标位置
hnd = WindowFromPoint(pt.x,pt.y) '获得鼠标所在位置的窗口句柄
SendMessage hnd,WM_GETTEXT,strlong,Byval str '发送WM_GETTEXT消息
HotMousE
2013-05-22 · TA获得超过146个赞
知道小有建树答主
回答量:212
采纳率:100%
帮助的人:179万
展开全部
问题出在: hactive是当前活动的窗口

一般来说控件是所在窗口的子窗口。

所以你应该先获得鼠标所在的控件句柄,而非是这个窗口的窗口句柄。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式