MOUDLE:
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Type PROCESS_BASIC_INFORMATION
  ExitStatus As Long
  PebBaseAddress As Long
  AffinityMask As Long
  BasePriority As Long
  UniqueProcessId As Long
  InheritedFromUniqueProcessId As Long
End Type
Private Declare Function NtQueryInformationProcess _
            Lib "ntdll" (ByVal ProcessHandle As Long, _
            ByVal ProcessInformationClass As Long, _
            ByRef ProcessInformation As PROCESS_BASIC_INFORMATION, _
            ByVal lProcessInformationLength As Long, _
            ByRef lReturnLength As Long) As LongPublic Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public ProcessHandle As Long
Public Function GetProcessID(ByVal ProcessHandle As Long) As Long
On Error GoTo e
Dim info As PROCESS_BASIC_INFORMATION
If NtQueryInformationProcess(ProcessHandle, 0, info, Len(info), ByVal 0) = 0 Then
GetProcessID = info.PebBaseAddress
Else
GetProcessID = 1
End If
e: End Function
FORM:
Private Sub Command1_Click()
Dim winhwnd As Long
Dim ProcessID As Long
Dim a As Long
winhwnd = FindWindow(vbNullString, "我的电脑")
Call GetWindowThreadProcessId(winhwnd, ProcessID)
Print winhwnd
Print ProcessID
a = GetProcessID(Val(ProcessID))
Print a
End Sub
为什么NtQueryInformationProcess 还执行错误呢?????? 
在问一下,有没有关于ZW*和NT*开头的API函数帮助呢??? 
谢谢!!!!!!!!!!!!!