谁能帮我看看SendMessage的代码那里错了?(vb的代码,但是操作对象是.net编译的)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long  
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long  
Private 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 Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long  
Private Const TA_TOP = 0  
Private Sub Command1_Click()  
Dim NavHwnd As Long  
Dim NavName As String  
Dim NavBuffer As String * 256  
Dim TagHwnd As Long  
Dim Tag As Long  
NavHwnd = FindWindow("WindowsForms10.Window.8.app.0.33c0d9d", vbNullString)  
If NavHwnd <> 0 Then  
NavName = GetWindowText(NavHwnd, NavBuffer, 255)  
Text2.Text = Left$(NavBuffer, NavName)  
End If  
Tag = FindWindowEx(NavHwnd, TagHwnd, vbNullString, "Play Route")  
SendMessage TagHwnd, TA_TOP, 0, 0  
End Sub    
如图程序主要想激活名为Play Route 的TagPage控件(不知道TagPage的称呼是否正确,好像挺重要,大概影响常量的设定)可
能是donNet Framework里的标准控件,怎么样由hwnd获得相应的winform控件对象,然后调用其方法切换页签 ????
TA_TOP的常量使自己瞎猜的,网上没找到相关资料。  
除了Text2.Text可以正确显示该窗体的标题,运行以后没有反应。  
拜托了,帮顶、每天灌一贴、给链接、给思路。。。。。都欢迎。
>>>> Window < < < <  
Title: NavMan  
Class: WindowsForms10.Window.8.app.0.33c0d9d  
Position: 110, 110  
Size: 217, 410  
Style: 0x16CF0000  
ExStyle: 0x00050100  
Handle: 0x00010BFC  
>>>> Control < < < <  
Class: WindowsForms10.Window.8.app.0.33c0d9d  
Instance: 1  
ClassnameNN: WindowsForms10.Window.8.app.0.33c0d9d1  
Name: tabPage1  
Advanced (Class): [NAME:tabPage1]  
ID: 68618  
Text: Play Route  
Position: 1, 22  
Size: 207, 321  
ControlClick Coords: 28, 1  
Style: 0x56000000  
ExStyle: 0x00010000  
Handle: 0x00010C0A  
>>>> Mouse < < < <  
Position: 33, 46  
Cursor ID: 0  
Color: 0x000000  
补充一下,使用Window Info查到的窗体信息  
------解决方案--------------------
哈哈,不知道是要用PostMessage发TCM_SETCURSEL消息,还是用dotNet自带的方法解决:)