请教通过进程名可以获得它的窗体句柄吗

请问通过进程名可以获得它的窗体句柄吗?
请问通过进程名可以获得它的窗体句柄吗? 此进程名只有一个,并且它的窗体最多两个

如果能怎么实现呢?
请提示个思路。最好您能贴一下代码谢谢

------解决方案--------------------
http://topic.****.net/t/20030827/14/2193566.html
  
*****************************************************************************
欢迎使用****论坛专用阅读器 : **** Reader(附全部源代码) 

http://feiyun0112.cnblogs.com/
------解决方案--------------------
http://bbs.pfan.cn/post-159519.html
http://blog.****.net/ssihc0/archive/2008/11/22/3349645.aspx
------解决方案--------------------
VB code

'共通模块(Module1.bas)中引用:
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
Public Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long
Public Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long
Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Public Const TH32CS_SNAPPROCESS = &H2&
Public Type PROCESSENTRY32
    dwSize As Long
    cntUseage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    swFlags As Long
    szExeFile As String * 1024
End Type

'窗体中代码
'******************************************************
'*  功能:加载数据
'*  参数:proName    :程序名
'*  返回:该程序打开的个数
'******************************************************
Private Function GetProCnt(proName As String) As Integer
    Dim lSnapShot As Long
    Dim lNextProcess As Long
    Dim tPE As PROCESSENTRY32
    lNextProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
    tPE.dwSize = Len(tPE)
    Dim i As Integer
    i = 0
    If Process32First(lNextProcess, tPE) <> 0 Then
        Do
            If Left(LCase(tPE.szExeFile), InStr(tPE.szExeFile, ".") + 3) = proName Then
                i = i + 1
'                qq = tPE.th32ProcessID
            End If
        Loop While Process32Next(lNextProcess, tPE) <> 0
    End If
    CloseHandle lNextProcess
    GetProCnt = i
End Function

Private Sub Command1_Click()
mesCnt = GetProCnt("vb6.exe")
    MsgBox mesCnt
End Sub