Hallo, liebe AutoItgemeinde,
Da is unter win10 mit FF.au3 und Co. nicht mehr so richtig klappen will, rufe ich meine Standardbrowser Firefox per Run() oder ShellExecute() auf.
Die Scripts funktionieren auch alle. Nur leider muss immer wieder ein
Sleep(...) eingebaut werden, damit die die zu übermittelnden Befehle
auch an der richtigen Stelle zur richtigen Zeit ankommen. Um diese Pause
- im nachfolgendem Script 11 Sekunden zu umgehen, würde ich gerne die
Statusbar des FF kontrollieren, insoweit, die nachfolgenden Befehle erst
dann ausgeführt werden, wenn der $_string_Statusbar = "" ist
(While/WEnd).
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\..\..\Icons\FreeStyleLibre.ico
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <MiPsIsInetConn.au3>
#include <misc.au3>
#include <String.au3>
Opt('SendKeyDelay', 30)
Opt('WinTitleMatchMode', 2)
Opt('MustDeclareVars', 1)
_loadingFreeStyleLibreFFox()
Exit
Func _loadingFreeStyleLibreFFox()
Local $_width = ((@DesktopWidth * 80) / 100), $_hight = ((@DesktopHeight * 90) / 100)
Local $_x = (@DesktopWidth / 2) - ($_width / 2), $_y = 0
Local $_SiteName = 'Freestyle Libr' & Chr(233)
Local $_url = 'https://www.freestylelibre.de/libre/mein-konto.html'
Local $_urlName = 'Anmelden | FreeStyle Libre'
Local $_SplashText = 'Bitte warten' & @CRLF & @CRLF & '"' & $_SiteName & '" wird geladen ...'
If Not _Singleton(@ScriptName, 1) Then
MsgBox(48, $_SiteName, 'Der Prozess Aufruf "' & $_SiteName & '" ist bereits gestartet.' & @CRLF & _
'Der erneute Aufruf wird daher beendet.')
Exit
EndIf
_Test_Inet_Connection()
Local $_FFPath = RegRead('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe', '')
If $_FFPath = '' Then
MsgBox(48, $_SiteName, 'Es ist ein genereller Fehler aufgetreten.' & @CRLF & _
'Bitte prüfen Sie, ob "Mozila Firefox" installiert ist.')
Exit
EndIf
If ShellExecute($_FFPath, '-new-window ' & $_url, '', 'open') Then
WinWait($_urlName, '')
WinSetState($_urlName, '', @SW_HIDE)
SplashTextOn('', $_SplashText, 300, 100, -1, -1, 33, '', -1, 900)
Sleep(11000)
ControlSend($_urlName, '', '', '{Tab 13}', 0)
Sleep(100)
ControlSend($_urlName, '', '', '[Benutzername]{TAB}', 0)
Sleep(100)
ControlSend($_urlName, '', '', [Passwort]', 1)
Sleep(100)
ControlSend($_urlName, '', '', '{Tab 2}{ENTER}', 0)
WinMove($_urlName, '', $_x, $_y, $_width, $_hight)
SplashOff()
WinSetState($_urlName, '', @SW_RESTORE)
WinActivate($_urlName, '')
Else
MsgBox(48 + 262144, $_SiteName, 'Es ist ein genereller Fehler aufgetreten.' & @CRLF & _
'Das Konto bei "' & $_SiteName & '"' & _
'kann nicht automatisch geladen werden.' & @CRLF & _
'Bitte rufen Sie "' & $_SiteName & '" manuell auf.')
WinClose($_urlName, '')
EndIf
EndFunc ;==>_loadingFreeStyleLibreFFox
Func _Test_Inet_Connection()
Local $_dlgText
$_dlgText = 'Es besteht zur Zeit keine Internetverbindung.' & @LF & @LF & 'Bitte stellen Sie erst eine Internetverbindung her' & @LF & _
'und starten Sie das Programm dann erneut.'
If Not _CheckInet() Then
MsgBox(16, 'FreeStyle Libr' & Chr(233), $_dlgText)
Exit
EndIf
EndFunc ;==>_Test_Inet_Connection
Vielleicht hat ja jemand 'ne clever (vielleicht auch koplett andere, Idee.
Vielen Dank ...
AutoItler