自己解决,放码出来 大家有做的就来看看 Const EM_GETLINE = &HC4 Const EM_LINELENGTH = &HC1 Const EM_LINEINDEX = &HBBPrivate 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 Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long) '注:如果以上的声明放在「一般模块」底下, 应在 Const 之前加上 Public 保留 '字, 并且将 Private 保留字去掉 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim S As String Call TB_GetLine(Text1.hWnd, 1, S) '' 假设要读取 Text1 第 1行的资料Text2.Text = S ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 传回值 S 即等于到 1行的资料注:TextBox 的行次是从 0 起算。 Sub TB_GetLine(ByVal hWnd As Long, ByVal whichLine As Long, Line As String) Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Longlc = SendMessage(hWnd, EM_LINEINDEX, whichLine, ByVal 0&) length = SendMessage(hWnd, EM_LINELENGTH, lc, ByVal 0&) If length > 0 Then ReDim bArr(length + 1) As Byte, bArr2(length - 1) As Byte Call RtlMoveMemory(bArr(0), length, 2) Call SendMessage(hWnd, EM_GETLINE, whichLine, bArr(0)) Call RtlMoveMemory(bArr2(0), bArr(0), length) Line = StrConv(bArr2, vbUnicode) Else Line = "" End If End Sub
然后更新到数据库
然后更新到数据库
哪个大哥放个例子 结贴算了 谢谢
Const EM_GETLINE = &HC4
Const EM_LINELENGTH = &HC1
Const EM_LINEINDEX = &HBBPrivate 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 Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
'注:如果以上的声明放在「一般模块」底下, 应在 Const 之前加上 Public 保留
'字, 并且将 Private 保留字去掉
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim S As String
Call TB_GetLine(Text1.hWnd, 1, S) '' 假设要读取 Text1 第 1行的资料Text2.Text = S
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 传回值 S 即等于到 1行的资料注:TextBox 的行次是从 0 起算。
Sub TB_GetLine(ByVal hWnd As Long, ByVal whichLine As Long, Line As String)
Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Longlc = SendMessage(hWnd, EM_LINEINDEX, whichLine, ByVal 0&)
length = SendMessage(hWnd, EM_LINELENGTH, lc, ByVal 0&)
If length > 0 Then
ReDim bArr(length + 1) As Byte, bArr2(length - 1) As Byte
Call RtlMoveMemory(bArr(0), length, 2)
Call SendMessage(hWnd, EM_GETLINE, whichLine, bArr(0))
Call RtlMoveMemory(bArr2(0), bArr(0), length)
Line = StrConv(bArr2, vbUnicode)
Else
Line = ""
End If
End Sub