【发布时间】:2021-09-24 19:44:40
【问题描述】:
我想关闭某个窗口。
Spy++ 告诉我该窗口的类名为“ad_win#2”:
但是,当我这样使用 FindWindow 时...
Public Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim lRet&
lRet = FindWindow("ad_win#2", vbNullString)
.... lRet 为 0,表示没有找到任何窗口。
我做错了什么?
谢谢!
【问题讨论】:
-
"ad_win#2" 这是 vb6 中的 ansi 还是 unicode 字符串?
String在 vb6 - unicode 或 ansi 是什么意思? -
有问题的窗口是另一个窗口的子窗口吗?如果有,先找到父窗口,再用
FindWindowEx()找到子窗口。 -
@RemyLebeau 我怎么知道?
-
@RbMm 您的评论使我在该窗口句柄上使用 GetClassName 并查看它产生了什么。我可以看到它在 VB6 中的名称末尾有一个 ChrW(10)。
-
@tmighty "我怎么知道?" - Spy++ 向您展示父/子关系。一旦您使用您正在查看的对话框找到一个窗口,然后按 OK,Spy++ 将向您显示与其他窗口相关的窗口。