garthi
Goto Top

Nach Screensaver automatischer refresh Internetexplorer

Hallo,

ich möchte gerne folgendes realisieren...

Auf meinem Rechner läuft der Internetexplorer im Kioskmodus.

Nach einer gewissen Zeit springt der Screensaver an.

Wenn dieser beendet wird, hätte ich gerne, dass der Internetexplorer einen Refresh der dort aktuellen Seite macht.

Hätte hier jemand einen Ansatz für ein VB-Script welches dies erledigt?

Schöne Grüße
Garthi

Content-ID: 290904

Url: https://administrator.de/contentid/290904

Ausgedruckt am: 25.11.2024 um 13:11 Uhr

colinardo
Lösung colinardo 14.12.2015, aktualisiert am 15.12.2015 um 21:40:03 Uhr
Goto Top
Hallo Garthi,
kleines AutoIt-Skript gefällig ...
#NoTrayIcon
#include <ie.au3>
$oldstate = false
$ie = _IECreate("https://administrator.de",0,1,0)  
_IEPropertySet($ie,"theatermode",true)  
while 1
	 if $oldstate = true and _IsScreenSaverActive() = false then
		_IEAction($ie,"refresh")  
	 EndIf
	$oldstate = _IsScreenSaverActive()
	sleep(1000)
Wend

Func _IsScreenSaverActive()
    Local $Ret = DllCall('user32.dll', 'int', 'SystemParametersInfo', 'uint', 0x0072, 'uint', 0, 'int*', 0, 'uint', 0)  
    If (@error) Or ($Ret = 0) Then
        Return SetError(1, 0, 0)
    EndIf
    Return $Ret[3]
EndFunc
oder als Powershell Skript:
$ie = New-Object -ComObject "InternetExplorer.Application"  
$ie.Visible = $true
$ie.Navigate("https://administrator.de")  

$tools = Add-Type –memberDefinition '[DllImport("user32.dll", SetLastError = true)] public static extern bool SystemParametersInfo(int uiAction, int uiParam, ref bool pvParam, int fWinIni);' -name “tools” -namespace Win32Functions –passThru -EA SilentlyContinue  
function IsScreenSaverActive() {
    $r = $false; $tools::SystemParametersInfo(0x0072,0,[ref]$r,0) | out-null; return $r
}

$oldstate = $false
while ($true){
    if ($oldstate -and !(IsScreenSaverActive)){
        $ie.Refresh()
    }
    $oldstate = IsScreenSaverActive
    sleep(1)
}
Grüße Uwe

Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate

Tags: Screensaver, Bildschirmschoner
garthi
garthi 14.12.2015 um 21:22:47 Uhr
Goto Top
Hallo Uwe,

vielen Dank schon mal face-smile

Ich brauche aber nochmal kurz Deine Hilfe...

Ich habe aus dem ersten Script eine .bat erstellt.
Doppelklick drauf gemacht... Screensaver ging an... aber nach dem beenden hat sich nichts getan

Was hab ich denn falsch gemacht?

Grüße
Andy
colinardo
Lösung colinardo 14.12.2015, aktualisiert am 15.12.2015 um 21:40:08 Uhr
Goto Top
Zitat von @garthi:
Ich habe aus dem ersten Script eine .bat erstellt.
Das ist kein Batch, sondern ein AutoIT-Skript!
Doppelklick drauf gemacht... Screensaver ging an... aber nach dem beenden hat sich nichts getan
Was hab ich denn falsch gemacht?
Mit AutoIt zur EXE kompilieren dann wuppt das face-wink
garthi
garthi 14.12.2015 um 22:07:06 Uhr
Goto Top
Sensationell!! Es funktioniert face-smile

Uwe, ich hab noch eine Frage...

Gibt es eine Möglichkeit, dass Script so zu modifizieren, dass:

- Am Anfang eine html-Datei im Internetexplorer im Kiosk-Modus geöffnet wird
- Und am Ende des Screensavers kein Refresh erfolgt, sondern eine bestimmte Seite geladen wird

Der Punkt ist... dann könnte ich mir eine separate Kiosk-Software sparen und alles über Dein sensationelles Script lösen.

Bei mir werden letztendlich lokale html-Seiten geöffnet... aber das dürfte ja kein Problem sein auf diese zu verweisen. oder?
colinardo
Lösung colinardo 15.12.2015 aktualisiert um 21:40:11 Uhr
Goto Top
Zitat von @garthi:

Uwe, ich hab noch eine Frage...

Gibt es eine Möglichkeit, dass Script so zu modifizieren, dass:

- Am Anfang eine html-Datei im Internetexplorer im Kiosk-Modus geöffnet wird
Ja klar, öffne deine HTML-Datei einfach mal ganz normal im IE und kopiere dir die URL aus der Adresszeile und füge sie in Zeile 4 stattdessen ein.

- Und am Ende des Screensavers kein Refresh erfolgt, sondern eine bestimmte Seite geladen wird
Dann entfernst du Zeile 8 und fügst stattdessen folgende Codezeile ein
_IENavigate($ie,"<DEINEURL>")
natürlich mit Abänderung deiner gewünschten URL...

Was du sonst noch alles damit anstellen kannst, liest du in der AutoIT Funktionsreferenz zum IE Object nach
https://www.autoitscript.com/autoit3/docs/libfunctions/IE%20Management.h ...

Grüße Uwe
garthi
garthi 15.12.2015 um 17:57:38 Uhr
Goto Top
Hallo Uwe,

vielen Dank schon mal für Deine Hilfe...

Mein Problem ist jetzt noch, dass die Anwendung unter IE9 schön läuft, unter dem IE10 bekomme ich jedoch eine Fehlermeldung.

und... gibt es einen Befehl um die Scrollbalken zu deaktivieren?

Wäre super, wenn Du mir hier helfen könntest.

Grüße
Andy
colinardo
Lösung colinardo 15.12.2015 aktualisiert um 21:40:24 Uhr
Goto Top
Du nutzt noch IE9 ??? Hat dich noch kein Verschlüsselungstrojaner besucht ? schon ziemlich gewagt ...
unter dem IE10 bekomme ich jedoch eine Fehlermeldung.
Und die wäre ?
gibt es einen Befehl um die Scrollbalken zu deaktivieren?
Nein, da musst du deinen HTML-Code so anpassen das er nicht größer wird als das Fenster also kleiner 100%.

btw. das als Kiosk herzunehmen ist schon ziemlich gewagt, daraus kann jeder Hempel ausbrechen ! So don't do this please !
garthi
garthi 15.12.2015 um 19:57:42 Uhr
Goto Top
Ich hab IE9 nur noch auf einem Testrechner...

Das mit dem Kiosk ist glaube ich nicht ganz so dramatisch. Ich habe ein paar HTML-Seiten, die lokal auf einem Rechner liegen und über einen Touchscreen gesteuert werden.
Man hat also keine Möglichkeit mit irgendwelchen Tastaturkürzel zu arbeiten, da auch keine virtuelle Tastatur eingeblendet wird.

Die Toolbar habe ich auch noch ausgeblendet.

Die Fehlermeldung schicke ich Dir gleich...
garthi
garthi 15.12.2015 um 21:23:49 Uhr
Goto Top
also......

ich denke ich hab da was falsch gemacht... starte ich die exe mit "Als Administrator ausführen", funktioniert die Geschichte.

Hab jetzt nur noch das Problem, dass die exe nach einem Neustart nicht automatisch startet (Verknüpfung liegt im Autostart-Ordner)... aber das krieg ich schon irgendwie hin.

Viiiiielen Dank Uwe!
garthi
garthi 15.12.2015 um 21:39:32 Uhr
Goto Top
Mit der Aufgabenplanung von Windows hats geklappt.