'我是想用按键取桌面正在编辑没保存的记事本里的文本内容,就是取不到。
'查了一下WM_GETTEXT 按键可能不支持他的参数,所以想用vb写个小插件,用按键来调用并实现功能。
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Public Function jubing(h As Variant) As Long
WM_GETTEXTLENgth = &HE
WM_GETTEXT = &HD
a = SendMessage(h, WM_GETTEXTLENgth, 0, 0)
MsgBox atempstr = Space(90000)'这个不知道是不是对的, 建立一个缓冲区,是网上抄的,。
第一个问题,用vb建立字符串的缓冲区是怎么写,或者vbs支持这个吗?
strlong = Len(tempstr)
Call SendMessage(h, WM_GETTEXT, strlong, ByVal tempstr)
MsgBox tempstr
End Function'这个插件测试 WM_GETTEXT 返回值为空。
'句柄是传参进来给H,句柄没问题, 用WM_GETTEXTLENgth获取长度,也能获取到返回值
'就是WM_GETTEXT 不行,
第二个问题WM_GETTEXT到底应该怎么去使用才能提取文本内容? 我仅了解wparam是获取的长度,lparam是传址的字符。
'大佬帮忙。