Hi,
gibt es die Möglichkeit mit serienmäßigen Autoit-Funktionen fremde Controls anzusprechen, also auszulesen und/oder zu editieren? Wenn nein,gibt es überhaupt eine Möglichkeit?
Konkret:
Ich habe ein Programm als Child engebettet in der GUI meines Skriptes. Nun möchte ich die Scrollbar dieses Fensters ansprechen. Das WinHandle habe ich ja, bringt mir das etwas? Habe mit Au3Info probiert direkt an das Handle der Scrollbar zu kommen. Leider ist diese garnicht erst auswählbar.Funzt das nicht mit controls?
Habe schon einiges gelesen,jedoch noch nix konkretes gefunden. Versuche es jetzt mit WinAPIEx UDF,lieber wäre mir natürlich eine eigene Funktion, dann müsste ich mich auch nicht erst durch die DOC lesen.
Hier mal mal mein bisheriger Code:
[autoit]Global $hGUI = GUICreate("BLA", 800, 600, -1, -1, BitOR($WS_MAXIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_CLIPCHILDREN))
Global $PID = Run("C:\EBOOKS\SumatraPDF.exe ", "", @SW_HIDE)
Global $hWnd = 0
Global $stPID = DllStructCreate("int")
Global $nExStyle
WinSetState("BLA", "", @SW_MAXIMIZE);
Global $WinList
Do
$WinList = WinList()
For $i = 1 To $WinList[0][0]
If $WinList[$i][0] <> "" Then
DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $WinList[$i][1], "ptr", DllStructGetPtr($stPID))
If DllStructGetData($stPID, 1) = $PID Then
$hWnd = $WinList[$i][1]
ExitLoop
EndIf
EndIf
Next
Sleep(100)
Until $hWnd <> 0
$stPID = 0
If $hWnd <> 0 Then
$nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd, "int", -20)
$nExStyle = $nExStyle[0]
DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", -20, "int", BitOR($nExStyle, $WS_EX_MDICHILD))
DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd, "hwnd", $hGUI)
WinMove($hWnd, "", 200, -48, 825, 757) ;HIER auf 200,-48,600,650 stellen damit nicht mehr sichtbar
WinSetState($hWnd, "", @SW_SHOW)
EndIf
GUISetState()