16,555
社区成员
发帖
与我相关
我的任务
分享
Public Shared Function GetChildWindows(ByVal ParentHandle As IntPtr) As IntPtr()
Dim ChildrenList As New List(Of IntPtr)
Dim ListHandle As GCHandle = GCHandle.Alloc(ChildrenList)
Dim ab As IntPtr()
Try
EnumChildWindows(ParentHandle, AddressOf EnumWindowProc, GCHandle.ToIntPtr(ListHandle))
Finally
If ListHandle.IsAllocated Then ListHandle.Free()
End Try
Return ChildrenList.ToArray
ab = GetChildWindows
End Function
以上代码中,参数ab是我添加的,可是在调用此函数过程中函数值无法给ab数组赋值,即ab始终为nothing,求教原因是什么 Public Shared Function GetChildWindows(ByVal ParentHandle As IntPtr) As IntPtr()
Dim ChildrenList As New List(Of IntPtr)
Dim ListHandle As GCHandle = GCHandle.Alloc(ChildrenList)
Dim ab As IntPtr()
Try
EnumChildWindows(ParentHandle, AddressOf EnumWindowProc, GCHandle.ToIntPtr(ListHandle))
Finally
If ListHandle.IsAllocated Then ListHandle.Free()
End Try
Return ChildrenList.ToArray
ab = GetChildWindows
End Function
以上代码中,参数ab是我添加的,可是在调用此函数过程中函数值无法给ab数组赋值,即ab始终为nothing,求教原因是什么
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As Int32, ByVal lParam As String) As Int32
End Function
Private Const WM_SETTEXT As Int32 = &HC
Public Sub SetText(ByVal 目标文本框句柄 As IntPtr, ByVal text As String)
SendMessage(目标文本框句柄, WM_SETTEXT, 0, text)
End Sub
就这么样了