Listbox/Input Feld andrer Programmes auslesen/controlsend

05/19/2011 15:20 Ludder231#1
Hi,

gibt es eine möglichkeit mit AutoIT Listboxen/Inputboxen... anderer Programme auszulesen oder etwas per controlsend reinzuschreiben? Etwa bei TeamSpeak 3??

MfG Ludder231
05/19/2011 21:54 lolomat41#2
Per Controlsend, die nötigen Infos zum Control beziehst du über die Au3Info.exe im AutoIT-Verzeichnis.
05/20/2011 01:04 KDeluxe#3
Du brauchst nur das Handle des Inputs, dann kannst du den Text per SendMessage auslesen ([Only registered and activated users can see links. Click Here To Register...]).
Ich habe mal ein Beispiel mit Notepad erstellt:
PHP Code:
$hWnd ControlGetHandle("[CLASS:Notepad]""""[CLASS:Edit; INSTANCE:1]")
$Buffer DllStructCreate("char[255]")
$Lenght DllCall("User32.dll""int""SendMessage""HWND"$hWnd"int"0xD"int"DllStructGetSize($Buffer), "ptr"DllStructGetPtr($Buffer))

$Text ""
For $i 1 To $Lenght[0]
    
$Text &= DllStructGetData($Buffer1$i)
Next

MsgBox
(0""$Text
Oder einfach:
PHP Code:
MsgBox(0""ControlGetText("[CLASS:Notepad]""""[CLASS:Edit; INSTANCE:1]")) 
05/20/2011 15:42 Ludder231#4
Quote:
Originally Posted by KillerDeluxe View Post
Du brauchst nur das Handle des Inputs, dann kannst du den Text per SendMessage auslesen ([Only registered and activated users can see links. Click Here To Register...]).
Ich habe mal ein Beispiel mit Notepad erstellt:
PHP Code:
$hWnd ControlGetHandle("[CLASS:Notepad]""""[CLASS:Edit; INSTANCE:1]")
$Buffer DllStructCreate("char[255]")
$Lenght DllCall("User32.dll""int""SendMessage""HWND"$hWnd"int"0xD"int"DllStructGetSize($Buffer), "ptr"DllStructGetPtr($Buffer))

$Text ""
For $i 1 To $Lenght[0]
    
$Text &= DllStructGetData($Buffer1$i)
Next

MsgBox
(0""$Text
Oder einfach:
PHP Code:
MsgBox(0""ControlGetText("[CLASS:Notepad]""""[CLASS:Edit; INSTANCE:1]")) 
Und was ist wenn man mit dem AutoitWindow info keine inputboxen/butten etc anpeilen kann? ist bei TeamSpeak 3 so -.-