vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Lösung! 
Autor: Ronny42DAch
Datum: 03.12.01 01:51

Label1 und Label2 benötigt - dürft auch nen Tip draus machen als aufmuterung für den Lord so als Opfergabe.

sorry nochmal


Option Explicit

Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetFocus Lib "user32" () As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function AttachThreadInput Lib "user32" (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2

' User defined types.
Private Type tActiveCtrInfo
lnghWnd As Long
strClassName As String
End Type



Private Sub tmrTimer_Timer()
Dim aciActCtr As tActiveCtrInfo

aciActCtr = GetActiveControl

Label1.Caption = aciActCtr.lnghWnd
Label2.Caption = aciActCtr.strClassName
End Sub

Private Function GetActiveControl() As tActiveCtrInfo
Dim strBuffer As String, lngResult As Long, lngOtherThreadID As Long
Dim lngThread1 As Long, lngThread2 As Long, lngGetCurrentThreadID As Long
Dim blnReminder As Boolean, lnghWndControl As Long

lngThread1 = GetWindowThreadProcessId(Me.hWnd, lngGetCurrentThreadID)
lngThread2 = GetWindowThreadProcessId(GetForegroundWindow, lngOtherThreadID)

If lngThread1 <> lngThread2 Then blnReminder = AttachThreadInput(lngThread2, lngThread1, True)

lngResult = GetFocus()
lnghWndControl = lngResult
GetActiveControl.lnghWnd = lngResult

If blnReminder Then blnReminder = AttachThreadInput(lngThread2, lngThread1, False)

strBuffer = Space(255)
Call GetClassName(lnghWndControl, strBuffer, Len(strBuffer))
GetActiveControl.strClassName = strBuffer
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
aktuell aktiver Focus ermitteln wie?75Ronny42DAch01.12.01 00:26
Aber ja doch:49CyberLord01.12.01 13:27
schnö klapt nicht43Ronny42DAch02.12.01 23:46
Tja dann habe ich schlechte Nachrichten:378unbekannt03.12.01 00:25
doch mach mal!81Ronny42DAch03.12.01 00:29
Re: doch mach mal!397unbekannt03.12.01 00:48
Na gut klappt also doch38Ronny42DAch03.12.01 01:05
Re: aktuell aktiver Focus ermitteln wie?748ModeratorDieter03.12.01 01:07
Es stimmt erstes!!! ja ja ja47Ronny42DAch03.12.01 01:11
Re: Es stimmt erstes!!! ja ja ja436ModeratorDieter03.12.01 01:13
Die ID eines Steuerelements!59Ronny42DAch03.12.01 01:18
Und jetzt langt es mir aber!!!434unbekannt03.12.01 01:36
sorry liegt meinem programm zu grunde!47Ronny42DAch03.12.01 01:41
nix mehr sagt.427unbekannt03.12.01 02:07
Lösung!60Ronny42DAch03.12.01 01:51
Wünsche viel Spass ...452unbekannt03.12.01 02:13

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel