永发信息网

VB获取指定窗口的子程序句柄

答案:1  悬赏:10  手机版
解决时间 2021-04-30 06:55

个位帮帮忙啊!!!!!

要能用的 啊!!!!

最佳答案
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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
'这是定义获得窗口句柄的API函数.
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 '这句是定义向获得窗口句柄发送按键消息的API函数.


例子:你先建一个工程
form1.caption="12345
画一个command1 名字为 "确定1"
事件
Private Sub Command1_Click()
msgbox Me.Hwnd '显示确定按钮的句柄
End Sub
生成12345.exe
关闭VB6
打开VB6
再建一个工程 代码如下:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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 Declare Function PostMessage& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd 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 Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const MK_LBUTTON = &H1
Dim hpwnd As Long, hcwnd As Long
Dim iResult As Long

Private Sub Command1_Click()
hpwnd = FindWindow(vbNullString, "12345")
hcwnd = FindWindowEx(hpwnd, 0, vbNullString, "确定")
SetForegroundWindow hcwnd
iResult = SendMessage(hcwnd, WM_LBUTTONDOWN, 0, 0&)
iResult = SendMessage(hcwnd, WM_LBUTTONUP, 0, 0&)
End Sub

然后先运行 事先生成好的12345.exe
再运行后建的那个
你单击确定 就会使12345.exe的确定按钮被单击 返回它的hwnd
我的方法是先找到12345.exe的主窗口 然后根据主窗口的句柄获得其确定按钮的句柄 再使用sendmessage 发送模拟鼠标左键单击

VB控件的句柄 一般可用me.hwnd 方法获得
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
火影最后斑怎么死的?
我的诺基亚5320di手机为什么没有收到信息,信
都是谁在腾讯动漫上给桔梗投票啊?
求拥抱扫弦的吉他谱
二元一次方程的图像解法
把视频转为3GP后画面清晰就是音质不好.
古人咏七夕的诗词,描写七夕节的诗句
诺基亚6700S在不改变像素的情况下怎么改变照
中国移动流均镇营业部地址在哪,我要去那里办
台电U盘 怎么弄那个序列号出来啊?
送手表的意义是什么
厦门哪有黑色厚的裤,袜卖
请问“游戏人生”是什么?
生葵瓜子市场价格
描写春天景色的句子
推荐资讯
就现在来说是詹姆斯利害还是科比更利害呢?二
fifaonline 2球员装备怎么弄呀?
情侶空間用電腦上怎么邀請别人
哪里能找到没有袁咏仪介绍的《画沙》,请附上
为什么我的游戏人生在QQ上显示了,而在官网上
女生大学怎么丰富课外生活
有哪个网站 有英语和汉语一起的录音
如果有一天你的男人背叛了你
有三百元左右的牌子的数码相机卖的吗?
天龙八部2买号问题??
我的电脑配置报价单
比喻风景朦胧美的句子,歌词 远山美啊,远山
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?