怎么得一個窗體內某一控件的Hwnd...(高手請進)(50分)

  • 主题发起人 主题发起人 hgood
  • 开始时间 开始时间
H

hgood

Unregistered / Unconfirmed
GUEST, unregistred user!
如題﹐怎么得一個窗體內某一控件的Hwnd,以便于發送SendMessage消息如果是類
是TRichedit or TEdit型的﹐可以取里面的字符﹐如果是 Tbutton型的就向它發送命令
型的消息...!
 
form的components数组
 
To:higoal
不是自己寫的From,還是外部程序的窗體里的控件的hwnd,我記得用Findwindow(classname,?)
然后是不是用枚舉什么的我就不知道了﹐希望高手門不要保留啊﹗﹗﹗:)

 
好像沒人會一樣的﹗﹗大家出來發表一下嘛﹗﹗
 
FindWindow

VB声明
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
说明
寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题)
返回值
Long,找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
参数表
参数 类型及说明
lpClassName String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
lpWindowName String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题
注解
很少要求同时按类与窗口名搜索。为向自己不准备参数传递一个零,最简便的办法是传递vbNullString常数

示例
Dim hw&, cnt&
Dim rttitle As String * 256
hw& = FindWindow("ThunderRT5Main", vbNullString) ' ThunderRTMain under VB4
cnt = GetWindowText(hw&, rttitle, 255)
MsgBox Left$(rttitle, cnt), 0, "RTMain title"
 
enumchildwindows
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
1K
import
I
后退
顶部