vb 如何使用api获得 文本文档中的编辑区 的内容?需要使用哪些api函数?
1个回答
展开全部
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
Private Const WM_GETTEXT = &HD 'SendMessage所用消息常量,表示取得文本
Private Type POINTAPI
x As Long
y As Long
End Type
'getcursorpos函数:用于获取鼠标指针在屏幕上的当前位置,并将其x/y坐标值存于鼠标点结构lppoint参数中
'windowformpoint函数:用于返回包含指定点的窗口句柄,其xpoint/ypoint参数用于指定这个点的位置
'鼠标点结构需要先声明后使用,用于保存x/y坐标
Private Sub command1_click()
Timer1.Enabled = True
End Sub
Private Sub timer1_timer()
On Error Resume Next
Dim P As POINTAPI
Dim H As Long
Dim lParam As String * 256
GetCursorPos P
H = WindowFromPoint(P.x, P.y)
SendMessage H, WM_GETTEXT, 255, lParam
Text1.Text = lParam
End Sub
'星号密码嗅探器原理
'将鼠标移动到一个文本框时,文本框就成了当前鼠标坐标所在的窗口,这是再通过sendmessage函数就可以有针对性地对这个窗口进行发送消息的操作。
'255为取得文本长度,由wm_gettext决定
'lparam取得保存文本的缓冲区,长度不能小于取得文本字符长度,否则产生溢出错误
'放一个时钟控件
'运行后鼠标移动到文本框并点击
追问
这个只能获取部分内容...不能获取全部...
追答
抱歉 我只有这个办法了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询