如何枚举资源管理器打开的所有窗口的标题?!!VB? 50

我的目的是判断某一个文件夹是否被打开,如果打开再进行下一步操作。我自己写了一部分代码,但是没反应,请高手修改指点,请确保调试能正常完成功能!希望理解~(用VB完成,我的代... 我的目的是判断某一个文件夹是否被打开,如果打开再进行下一步操作。我自己写了一部分代码,但是没反应,请高手修改指点,请确保调试能正常完成功能!希望理解~(用VB完成,我的代码如下)
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public 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
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean
Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long '判断父窗口的句柄
Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
Dim sSave As String, Ret As Long, n As Integer
Dim re As RegExp
Dim ist As Boolean
Set re = New RegExp
re.IgnoreCase = False
re.Pattern = "KFGJ"
Ret = GetWindowTextLength(hwnd)
sSave = Space(Ret)
GetWindowText hwnd, sSave, Ret + 1 '得出hwnd为所有窗口句柄和 sSave所有窗口标题
'Form1.Print Str$(hwnd) + " " + sSave
If re.Test(sSave) = True Then
'continue enumeration
MsgBox "找到"
Form1.Hide
Form2.Show
Exit Function
End If

EnumWindowsProc = True
End Function

-------------------------
不知道哪里出错,或者是方法不对,因为我对 EnumWindowsProc 不了解,请指教。
会在截止日期前结贴
展开
 我来答
5izltxy7s
2011-03-19 · TA获得超过1043个赞
知道小有建树答主
回答量:1305
采纳率:50%
帮助的人:746万
展开全部
ndowsProc,0);
其中,
EnumWindowsProc为回调函数,原型为
BOOL CALLBACK EnumWindowsProc( HWND hwnd,LPARAM lParam)

//系统每发现一个窗口,即调用该回调函数,hwnd为发现的窗口句柄
//lParam为EnumWindows函数的第二个参数,一般没什么用处

其他的操作都可以根据参数hwnd来进行,比如,获得窗口标题用
int GetWindowText(
HWND hWnd,
LPTSTR lpString,
int nMaxCount
);
获得窗口类名:
int GetClassName(
HWND hWnd,
LPTSTR lpClassName,
int nMaxCount
);
等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式