VB 引用API就是超麻烦啊“hwnd”不是“System.Windows.Forms.TextBox”的成员。该如何处理
VB 引用API就是超麻烦啊,“hwnd”不是“System.Windows.Forms.TextBox”的成员。
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Sub Command1_Click()
Dim sBuffer As String
sBuffer = Space(255)
GetWindowText Text1.hwnd, sBuffer, 255
Text2.Text = sBuffer
End Sub
错误 1 “hwnd”不是“System.Windows.Forms.TextBox”的成员。 X:\vb\getwindowtext\WindowsApplication1\WindowsApplication1\Form1.vb 18 23 WindowsApplication1
------------------------------------------
一个在VS2010下就这么麻烦,要怎么改。出手吧。
------解决方案--------------------
句柄應該是
.handle
------解决方案--------------------
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As intptr, ByVal lpString As String, ByVal cch As int32) As int32
Private Sub Command1_Click()
Dim sBuffer As String
sBuffer = Space(255)
GetWindowText Text1.handle, sBuffer, 255
Text2.Text = sBuffer
End Sub
------解决方案--------------------
楼住api声明错误。vb6的long数据类型在vb。net为int32
其他的就不说了。6楼正解
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Sub Command1_Click()
Dim sBuffer As String
sBuffer = Space(255)
GetWindowText Text1.hwnd, sBuffer, 255
Text2.Text = sBuffer
End Sub
错误 1 “hwnd”不是“System.Windows.Forms.TextBox”的成员。 X:\vb\getwindowtext\WindowsApplication1\WindowsApplication1\Form1.vb 18 23 WindowsApplication1
------------------------------------------
一个在VS2010下就这么麻烦,要怎么改。出手吧。
------解决方案--------------------
句柄應該是
.handle
------解决方案--------------------
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As intptr, ByVal lpString As String, ByVal cch As int32) As int32
Private Sub Command1_Click()
Dim sBuffer As String
sBuffer = Space(255)
GetWindowText Text1.handle, sBuffer, 255
Text2.Text = sBuffer
End Sub
------解决方案--------------------
楼住api声明错误。vb6的long数据类型在vb。net为int32
其他的就不说了。6楼正解