zoukankan      html  css  js  c++  java
  • VB6 根据进程ID(PID)获取窗体句柄

    模块代码:

    Option Explicit

    Private Const GW_HWNDNEXT = 2

    Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwprocessid As Long) As Long
    Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

    Private Function ProcIDFromWnd(ByVal hwnd As Long) As Long
        Dim idProc As Long

        ' Get PID for this HWnd
        GetWindowThreadProcessId hwnd, idProc

        ' Return PID
        ProcIDFromWnd = idProc
    End Function

    Public Function GetWinHandle(hInstance As Long) As Long
        Dim tempHwnd As Long

        ' Grab the first window handle that Windows finds:
        tempHwnd = FindWindow(vbNullString, vbNullString)

        ' Loop until you find a match or there are no more window handles:
        Do Until tempHwnd = 0
            ' Check if no parent for this window
            If GetParent(tempHwnd) = 0 Then
                ' Check for PID match
                If hInstance = ProcIDFromWnd(tempHwnd) Then
                    ' Return found handle
                    GetWinHandle = tempHwnd
                    ' Exit search loop
                    Exit Do
                End If
            End If

            ' Get the next window handle
            tempHwnd = GetWindow(tempHwnd, GW_HWNDNEXT)
        Loop
    End Function

  • 相关阅读:
    kbmmw 5.14.00 发布
    关于C++ auto使用要注意的一点
    git设置socks5代理
    电子书分享网站
    spring cache相关
    intellij idea开启debug热加载/热部署
    git 多次commit合并成一次提交
    es feature一览
    数据中台
    Java Agent
  • 原文地址:https://www.cnblogs.com/love2wllw/p/1744268.html
Copyright © 2011-2022 走看看