VB中的FindWindow返回值一直为0

PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsStrin... Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Form_Load()
Dim hWnd As Long
Dim x As String

Do While x <> "a"
hWnd = FindWindow(0&, 0&)
x = InputBox(hWnd)
Loop

End Sub

可以看到hWnd一直是0,不知道是为什么
展开
 我来答
甫温纶0gH698
2013-12-12 · TA获得超过363个赞
知道小有建树答主
回答量:354
采纳率:100%
帮助的人:327万
展开全部
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Form_Load()
    Dim hWnd As Long
    Dim x As String
    
    Do While x <> 0
        hWnd = FindWindow(vbNullString, x)
        x = InputBox(hWnd)
    Loop
    
End Sub

FindWindow里需要传入值才能获取句柄

追问
传入0的话是匹配任意类和窗口标题,不是吗
追答
那就用FindWindow(vbNullString, vbNullString),传入空值

或者
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long

hWnd = FindWindow(0&, 0&)
kesi163
2013-12-12 · TA获得超过181个赞
知道答主
回答量:142
采纳率:0%
帮助的人:81.6万
展开全部
对啊。。你想得到什么句柄,findwindow那行写错了,hWnd = FindWindow(vbNullString, "窗口的名字")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式