form1中:
申明
Public nHwnd As IntPtr
获得句柄
nHwnd = TextBox1.Handle()
form2中:
加载API
Private Declare Function GetWindowText Lib "Coredll.dll" Alias "GetWindowTextW" (ByVal hwnd As Integer, ByVal lpString As String, ByVal cch As Long) As Integer
Private Declare Function SetWindowText Lib "Coredll.dll" Alias "SetWindowTextW" (ByVal hwnd As Integer, ByVal lpString As String) As Integer
注:红色区域需要特别注意,此处VB6.0为long,VB.NET为integer。黄色为WINCE调用的动态链接库,在WINCE中,"Coredll.dll"对应了"Kernel32.dll"和"User32.dll"这两个文件了,此外"Coredll.dll"和"Kernel32.dll"中的API函数也是有区别的,并不能完全划等号。
功能代码
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyStr As New String(Strings.Chr(0), 100)
GetWindowText(Form1.nHwnd, MyStr, 100)
MyStr = MyStr + "1"
SetWindowText(Form1.nHwnd, MyStr)
End Sub