danke, Dir auch ein schönes Osterfest!
Schade, dass Du mit WinSpy nichts angezeigt bekommst. Wie heißt denn nun das Programm mit dem Ihr arbeitet? Basiert dies eventuell auf Java? Da habe ich so was auch schon erlebt...
Ich habe mal mit verschiedenen Fenstern rumprobiert. Setze ich den Cursor auf eine bestimmte Stelle, ändert sich bei mir die Caret-Postition nicht, egal ob ich das Fenster in der Größe verändere oder verschiebe.
Vielleicht hilft Dir ja das u.g. Skript weiter. Um die Caret-Postition zu ermitteln, musst Du mit der linken Maustaste in das gewünschte Feld klicken! (Programm starten und beenden mit Strg + 1)
^1:: ;Wert/Steuerelement/Pos an der Cursorposition ermitteln
; Dieses Script benötigt Windows 98, NT 4.0 SP3+ oder höher.
if HotkeyGestartet
{
HotkeyGestartet := false
SetTimer, GetInfo, off
toolTip
Sleep 500
}
else
{
HotkeyGestartet := true
SetTimer, GetInfo, 200
}
return
GetInfo:
; ermittelt die ahk_id (HWND) des !!!fokussierten Steuerelements!!! im aktiven Fenster.
GuiThreadInfoSize := 48
VarSetCapacity(GuiThreadInfo, GuiThreadInfoSize)
NumPut(GuiThreadInfoSize, GuiThreadInfo, 0)
If not DllCall("GetGUIThreadInfo", uint, 0, str, GuiThreadInfo)
{
MsgBox GetGUIThreadInfo() hat einen Fehler entdeckt.
Return
}
WindowHWND := NumGet(GuiThreadInfo, 12) ; Ermittelt das hwndFocus-Feld aus der Struktur.
MouseGetPos, MouseX, MouseY, ID, ClassNNSteuerelement ;ermittelt den Namen des ClassNN Steuerelements und die ahk_ID des Fensters unter dem Mauszeiger
ControlGetPos, x, y, w, h, , ahk_id %WindowHWND% ;ermittelt die Koordinaten des Steuerelements unter dem Mauszeiger anhand des WindowHWND
WinGetClass, ahkclass, ahk_id %ID%
ControlGetText, AusgabeText,, ahk_id %WindowHWND% ;ermittelt den Text aus dem fokussierten Steuerelements unter dem Mauszeiger anhand des WindowHWND
ToolTip, MousePos: X%MouseX% Y%MouseY%`nA_Caret: X%A_CaretX% Y%A_CaretY%`nahk_class: %ahkclass%`nWindowHwnd: %WindowHWND%`nahk_id: %Id%`nClassNN: %ClassNNSteuerelement%%Liste%`nPos/Size Steuerelement:`nX%X% Y%Y%`nW%W% H%H%`n%Ausgabetext%
Return