Здравсивуйте
Мне нужно по HWND определить путь к активной программе
делаю так где sHwnd HWND активного приложения
Option Explicit
Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Declare Function GetWindowWord Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Integer
Const GWW_HINSTANCE = (-6)
Public Sub FilePath(sHwnd)
Dim ModuleName As String, FileName As String, hInst As Long
ModuleName = String$(128, Chr$(0))
hInst = GetWindowWord(sHwnd, GWW_HINSTANCE)
ModuleName = Left$(ModuleName, GetModuleFileName(hInst, ModuleName, Len(ModuleName)))
Debug.Print "Module Filename: " + ModuleName & " HWND - " & sHwnd
End Sub
но все время время получаю путь к VB
D:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE
Что я делаю не так
С уважением