谁能帮小弟我看看SendMessage的代码那里错了?(vb的代码,但是操作对象是.net编译的)
发布时间:2011-06-23 14:40:53 文章来源:www.iduyao.cn 采编人员:星星草
谁能帮我看看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自带的方法解决:)
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
c# 类库打包成COM类型库时在vs命令行怎么写
类库打包成COM类型库(在vs命令行中怎么写啊)
路径和格式怎么写?
假如路径是:F:\netTest...
-
int
c#里的int是多少位???????
------解决方案--------------------
int 的值用 31 位来表示,第三十二位为符号位。,其范围从负 2,147,483...
-
求各位大侠帮个忙
做的是一个项目经理评分系统
如何把第一个窗体点击的人的信息显示到第二个窗体里面
------解决方案---------...
-
【asp.net三层怎样入手学习开发?】
我现在搞asp.net都是面向过程的.没有分层
请问怎样做到 mvc ??真正的面向对象的开发??
请问...
-
.net framework 2.0 service pack 1 无法卸载,怎么办
总是提示说安装是发生严重错误,并且说it will affect other application that...
-
Message.Show()的窗体美化
每次弹出的窗口都是那么的单调有没有什么方法能换一下弹出窗体的颜色或者是插一张图片
------解决方...
-
安装vs2010出错,求老师解答!!!
rt
安装vs2010是出错
C:\Users\Administrator\AppData\Local\Temp\SIT32027.tmp\deffactory...
-
怎么做一个转盘出来啊,请教各位大虾
在ASP.NET的页面中怎么弄一个转盘出来啊?
------解决方案--------------------
什么转盘
---...
-
jquery each遍历赋值不上呢
<ul id="myul">
<li><a id="2258">第一个</a></li>
<li><a id="2258">第二个</a></li>
<li>...
-
C#发布问题
这个是怎么回事啊
我在那个debug下面有那个DevExpress.XtraLayout.v9.1.dll这个了 为什么还是报这个错
------解决...