Hallo,
ich habe bei mir einen Telefonanlage laufen die über eine WEB Oberfläche eine CIT Lösung ( Computergestütztes Telefonieren ) anbietet.
Diese Oberfläche habe ich mir in eine kleine nette GUI eingebaut so das sie nur bei bedarf aufklappt
und eben dann benutzbar ist.
Jetzt hab ich mich dafür interessiert wie man es schafft das man eine Telefonnmmer die zB in einer Mail steht
über den Mauszeiger in den Textblock hinein klickt und dann anhand der Cursorposition den Text auslesen kann.
Meine Frage ist mit welchen Funktionen müsste arbeiten bzw in welche Richtung sollte ich suchen
wenn ich eine Textinformation quasi über die Position des Cursor herausfinden möchte?
Kann mir da jemand helfen?
Hier noch meine kleine Software.
Die Funktioniert natürlich nur an einer OpenCom 100 Anlage... vieleicht auch an einer 1000er
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=telefon.ico
#AutoIt3Wrapper_Outfile=OpenCom X320 - OpenCTI 50.exe
#AutoIt3Wrapper_Res_Fileversion=1.0.0.4
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_Language=1031
#AutoIt3Wrapper_Au3Check_Stop_OnWarning=y
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; *******************************************************
; Example 1 - Trap COM errors so that 'Back' and 'Forward'
; outside of history bounds does not abort script
; (expect COM errors to be sent to the console)
; *******************************************************
;
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
Opt("MustDeclareVars", 1) ; Variablen MÜSSEN Daklariert werden
Opt('TrayOnEventMode', 0) ; Tray-Menü im OnEvent-Mode
Opt("TrayAutoPause", 0) ; 0=no pause, 1=Pause
Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.
Opt("TrayIconHide", 0) ;0=show, 1=hide tray icon
Global $GUI_Titel = "OpenCom X320 - OpenCTI 50"
Global $TK_Anlagen_Adresse = "192.168.99.254"
Global $Benutzername = "BenutzerinderTKAnlage"
Global $Passwort = "Passwort"
_IEErrorHandlerRegister()
Local $oIE = _IECreateEmbedded()
Global $CTI_GUi = GUICreate($GUI_Titel, 400, 580, _
(@DesktopWidth - 400 - 15), (@DesktopHeight - 580 - 80), _
$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
Global $Tray_Menu_Aufklappen = TrayCreateItem("Aufklappen")
Global $Tray_Menu = TrayCreateItem("")
Global $Tray_Menu_Beenden = TrayCreateItem("Beenden")
GUISetState(@SW_SHOW) ;Show GUI
[/autoit] [autoit][/autoit] [autoit]Local $GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 400, 580)
[/autoit] [autoit][/autoit] [autoit]_IENavigate($oIE, "http://" & $TK_Anlagen_Adresse & "/app-main.asp?app=3")
_IELoadWait($oIE)
Global $oFrames = _IEFrameGetCollection($oIE)
Global $iNumFrames = @extended
For $i = 0 To ($iNumFrames - 1)
Global $oFrame = _IEFrameGetCollection($oIE, $i)
If StringInStr(_IEPropertyGet($oFrame, "locationurl"), "app-login.asp?app=3", 1) Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global $oForm = _IEFormGetObjByName($oFrame, "uf")
Global $oText = _IEFormElementGetObjByName($oForm, "un")
_IEFormElementSetValue($oText, $Benutzername)
Sleep(150)
Global $oText = _IEFormElementGetObjByName($oForm, "pw")
_IEFormElementSetValue($oText, $Passwort)
Sleep(150)
Send("{TAB}")
Send("{ENTER}")
GUISetState(@SW_MINIMIZE, $CTI_GUi) ;Show GUI
GUISetState(@SW_HIDE, $CTI_GUi) ;Show GUI
EndIf
[/autoit] [autoit][/autoit] [autoit]Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]AdlibEnable("_myadlib", 1000)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]Local $msg = GUIGetMsg()
Local $msgT = TrayGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msgT = $Tray_Menu_Beenden
Exit
Case $msgT = $Tray_Menu_Aufklappen
GUISetState(@SW_SHOW, $CTI_GUi) ;Show GUI
GUISetState(@SW_RESTORE, $CTI_GUi) ;Show GUI
Case Else
If Not IsObj($oIE) Then ExitLoop
EndSelect
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit]GUIDelete()
[/autoit] [autoit][/autoit] [autoit]Exit
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _myadlib()
[/autoit] [autoit][/autoit] [autoit]; 21 = GUISetState(@SW_MINIMIZE, $CTI_GUi) + GUISetState(@SW_HIDE, $CTI_GUi)
; 23 = GUISetState(@SW_MINIMIZE, $CTI_GUi)
; 15 = GUISetState(@SW_SHOW, $CTI_GUi)
; 13 = GUISetState(@SW_HIDE, $CTI_GUi)
ConsoleWrite(WinGetState("OpenCom X320 - OpenCTI 50") & @CRLF)
[/autoit] [autoit][/autoit] [autoit]If WinGetState("OpenCom X320 - OpenCTI 50") = 23 Then
GUISetState(@SW_MINIMIZE, $CTI_GUi) ;Show GUI
GUISetState(@SW_HIDE, $CTI_GUi) ;Show GUI
ElseIf WinGetState("OpenCom X320 - OpenCTI 50") = 7 Then
GUISetState(@SW_SHOW, $CTI_GUi) ;Show GUI
GUISetState(@SW_RESTORE, $CTI_GUi) ;Show GUI
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_myadlib
[/autoit]Gruß Jan