webForumDet fria alternativet

Api

2 svar · 322 visningar · startad av bagera

bageraMedlem sedan jan. 2001121 inlägg
#1

jag vill ha tag på processnamnet till det fönster som är i focus.
(Så jag vet vilket program som är i focus)
Hur ska jag göra.

Jag får ju fönsternamnet med denna

Private Declare Function GetActiveWindow Lib "user32" () As Long

men sen då?

Hor ska jag kunna knyta fönsternamnet med den process (program) som kör det?

SBMedlem sedan maj 2000194 inlägg
#2

Jag tror att du får använda GetWindowThreadProcessId istället.
Jag tror du finner lösningen på denna sida:

http://www.mentalis.org/apilist/GetWindowThreadProcessId.shtml

bageraMedlem sedan jan. 2001121 inlägg
#3

så här långt har jag kommit

Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowThreadProcessId _
Lib "user32" (ByVal hWnd As Long, lpdwProcessId _
As Long) As Long

Private Sub Timer1_Timer()
 Dim foreground_hwnd As Long
 Dim ThreadID As Long, ProcID As Long
   ThreadID = GetWindowThreadProcessId(GetForegroundWindow(), ProcID)
   lblCaption = ProcID

End Sub

Men hur får jag tag på exe namnet som har pid:et?

Genererad på 359 ms · cache AV · v20260730165559-full.f96bc7eb