Api

.NET

2 svar · 345 visningar · startad av bagera

Medlem sedan jan. 2001126 inlägg
Trådstart#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?

Medlem 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

Medlem sedan jan. 2001126 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?

257 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)