Windows Bildschirmschoner per Mausbewegung umgehen

Gast #6100263
Lesenswert?

Ich habe mir ein kleines Programm in Python geschrieben, welces alle par 
Minuten die Maus um ein Pixel verschiebt. Es läuft auf Windows. Dass es 
funktioniert kann ich am Bildschirm live nachvollziehen.

Der Sinn des ganzen war, weil ich somit für eine definierten Zeit 
vermeiden möchte, dass sich der Bildschirmschohner einschalten kann (Auf 
den Sinn des Ziels brauch man nicht weiter eingehen). Mein eigentliches 
Ziel konnte ich somit allerdings nicht erreichen und der 
Bildschirmschohner geht trotzdem an.

Habe ich hier einen Denkfehler, bzw hat jemand einen anderen Tipp für 
mich?
Gast #6100278
Lesenswert?

Drum ja der Hinweis, dass es her gar nicht um die Sinnhaftigkeit des 
Ziels an sich gehen sollte. Sondern rein um die technische 
Möglichkeiten.

Aber Recht hast du mit deiner Aussage an sich selbstverständlich 
trotzdem.
Gast #6100298
Lesenswert?

Wie die Einstellungen unter Windows sind, weiss ich nicht.
Aber ich vermute, dass der threshold bei mehr als einem Pixel liegt. 
Unter XScreenSaver liegt der Wert von xscreensaver.pointerHysteresis 
gewöhnlich bei 20 Pixeln.
Gast #6100316
Lesenswert?

Ggf. mal schauen, wie diverse Media Player das Problem lösen: 
http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/win32/inhibit.c

Wie sich das allerdings verhält, wenn zum Deaktivieren des 
Bildschirmschoners ein Passwort notwendig ist, kann ich nicht sagen.
Wenns speziell um das Mausschubsen geht und da wir ja hier auf 
Mikrocontroller.net sind: Bau dir einen Usb-Dongle, der sich als Maus 
ausgibt und den Zeiger bewegt ;).
Moderator #6100432
Lesenswert?

montagskind schrieb:
> Ich habe mir ein kleines Programm in Python geschrieben, welces alle par
> Minuten die Maus um ein Pixel verschiebt. Es läuft auf Windows. Dass es
> funktioniert kann ich am Bildschirm live nachvollziehen.

Es ist ein Unterschied, ob du die Maus verschiebst oder nur den
Maus-/Cursor/. Letzteres wird den Bildschirmschoner nicht beenden und
soll dies auch nicht.

Mit der Tastatureingabe verhält es sich ähnlich: Man kann per Software
ein paar Zeichen in einem Konsolefenster ausgeben, so dass der Eindruck
entsteht, jemand hätte die Zeichen auf der Tastatur eingetippt.
Tatsächlich wird dadurch aber nicht die Tastatureingabe selbst
simuliert, sondern nur die Folge davon, nämlich die Ausgabe der Zeichen
in der Konsole.

Mit deiner Maussimulation verhält es sich wohl ganz ähnlich. Um dem
Bildschirmschoner wirklich eine Mausaktivität vorzugaukeln, musst du
wohl auf einem tieferen Softwarelevel ansetzen.
#6100445
Lesenswert?

Joe J. schrieb:
> Ganz Simpel, haltet Euch fest:
>
> PowerPoint - einfach Präsi mit einer Folie einrichten und bei Start des
> Computers Präsi mit starten. Keine Adminrechte für Installation erf.,
> nix.
> VG

So sieht mein Bildschirmschoner aus, selbst erstellt als Präsi:)
Somit kann mir keiner vorwerfen, die Policies i-wie umgangen zu haben, 
da es tatsächlich aussiehr wie mein Sperrbildschirm.
Angehängte Dateien:
Persönliche Seite #6100489
Lesenswert?

montagskind schrieb:
> Habe ich hier einen Denkfehler, bzw hat jemand einen anderen Tipp für
> mich?
Ja, weil Win auf die Hardwareunterbrechungen reagiert und nicht auf ie 
von SW erzeugter Mausbewegung. Was du brauchst ist ein Servo oder du 
drehst die Maus um, klebst Lametta über den Sensor und schaltest einen 
Ventilator ein.





Joe J. schrieb:
> So sieht mein Bildschirmschoner aus, selbst erstellt als Präsi:)
> Somit kann mir keiner vorwerfen, die Policies i-wie umgangen zu haben,
> da es tatsächlich aussiehr wie mein Sperrbildschirm.

Kannst du die PP Datei bitte sharen.
Gast #6100513
Lesenswert?

Walter T. schrieb:
> Ein Pixel alle 10 Sekunden ist ausreichend.

Ich habe gerade einmal in die .xscreensaver Datei (OpenBSD/Xfce) geguckt 
und zumindest hier sind die Werte
1
pointerPollTime:    0:00:05
2
pointerHysteresis:  10

Was also bedeutet, dass der Pointer mindestens 10 Pixel in einem 5 
Sekunden Zeitfenster bewegt werden muss, damit der Screensaver beendet 
wird.
Alles andere waere ja auch sinnfrei. Bei einem Pixel wuerde ja bereits 
jede kleinste Erschuetterung des Schreibtisches zur Ausloesung fuehren.

Aber wie gesagt, Windows ist nicht meine Welt - es kann ja durchaus 
sein, dass dort die Werte ganz anders sind.
Gast #6101471
Lesenswert?

Der Digispark wurde ja bereits erwähnt.
Da ich an meinem Firmenrechner eingeschränkter User bin und auch nichts 
extra einstöpseln wollte, habe in meiner Tastatur einen Timer mit 
Analogswitch, der die Pause-Taste drückt.
#6101603
Lesenswert?

nocheinGast schrieb:
> Ggf. mal schauen, wie diverse Media Player das Problem lösen:
> http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/win32/inhibit.c

Da steht doch quasi die lösung:
1
/* Prevent monitor from powering off */
2
prev_state = SetThreadExecutionState( ES_DISPLAY_REQUIRED |
3
                                      ES_SYSTEM_REQUIRED |
4
                                      ES_CONTINUOUS );

und hier ist die passende dokumentation dazu:
https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setthreadexecutionstate

> Calling SetThreadExecutionState without ES_CONTINUOUS
> simply resets the idle timer; to keep the display or
> system in the working state, the thread must call
> SetThreadExecutionState periodically.

also, anstatt den cursor zu bewegen, einfach peridisch diese funktion 
callen.

Verwendung in Python:
https://gist.github.com/jonasbits/6861522
https://gist.github.com/kbarnes3/3fb7d353e9bdd3efccd5
Gast #6101612
Lesenswert?

Ich hatte ein ähnliches Problem: Ein nervig blinkender Bildschirmschoner 
den ich nicht ausschalten konnte (fremd administrierter Clientrechner im 
Büro).

Lösung: Kleines atmega32U4 Board (Leonardo micro o.ä. - weiss nicht mehr 
genau), ~10 Zeilen Programm drauf geflashed das behauptet "ich bin eine 
Tastatur" und alle 10min für 50ms die CRTL Taste drückt.
noch ein kleines Gehäuse für das Board gedruckt, und jetzt hängt das 
Ding seit zig Monaten am Rechner und verhindert den Schoner.
Gast #6101617
Lesenswert?

c.m. schrieb:
> Lösung: Kleines atmega32U4 Board (Leonardo micro o.ä. - weiss nicht mehr
> genau), ~10 Zeilen Programm drauf geflashed das behauptet "ich bin eine
> Tastatur" und alle 10min für 50ms die CRTL Taste drückt.

dafür ist bei uns der GData USB Keyboard Guard installiert und lässt 
solche Sachen nicht zu
Gast #6101827
Lesenswert?

Walter T. schrieb:
> c.m. schrieb:
>> "ich bin eine
>> Tastatur" und alle 10min für 50ms die CRTL Taste drückt.
>
> Dann hoffen wir mal, dass niemand, der daran arbeitet, im falschen
> Moment "X" drückt.

Wenn daran gearbeitet werden würde, bräuchte man nichts das den 
Bildschirmschoner deaktiviert.
Der Rechner ist für mich unbrauchbar, fremd administriert, standard 
Bürosoftware, Windowssystem ohne Entwicklungssoftware.
Der dient mir nur zum abholen betriebsinterner Mail.
Gast #6101849
Lesenswert?

c.m. schrieb:
> Wenn daran gearbeitet werden würde, bräuchte man nichts das den
> Bildschirmschoner deaktiviert.
> Der Rechner ist für mich unbrauchbar, fremd administriert, standard
> Bürosoftware, Windowssystem ohne Entwicklungssoftware.

ist bei mir genauso.
Wenn ich Daten protokolliere und lange Zeit am anderen Rechner sitze und 
nur beobachte, darf der Rechner nicht den Lock Screen oder 
Bildschirmschoner zeigen. So ein Rechner ist für mich unbrauchbar
#6102577
Lesenswert?

Georg schrieb:
> Osszilierer schrieb:
>> So ein Rechner ist für mich unbrauchbar
>
> Darüber musst du dich mit deinem Firmen-Administrator unterhalten. Die
> Erfolgsaussichten sind da eher gering.


Ich hab den "User Help Desk" gefragt ob sie mir den nervigen 
Bildschirmschoner durch "Blank Screen" oder irgendwas anderes nicht 
blinkendes ersetzen könnten - Anwort war "geht nicht".

Ja dann halt Arsch lecken. Was anderes fällt mir da nicht mehr ein.
#6102608
Lesenswert?

Osszilierer schrieb:
> c.m. schrieb:
>> Lösung: Kleines atmega32U4 Board (Leonardo micro o.ä. - weiss nicht mehr
>> genau), ~10 Zeilen Programm drauf geflashed das behauptet "ich bin eine
>> Tastatur" und alle 10min für 50ms die CRTL Taste drückt.
>
> dafür ist bei uns der GData USB Keyboard Guard installiert und lässt
> solche Sachen nicht zu

Den kann man problemlos umgehen, indem man einfach den USB Descriptor 
der echten Tastatur 'klaut'. Tastaturen haben keinen internen 
Speicherort für eine Signatur oder ähnliches, wodurch der PC keinen 
einfachen Unterschied zwischen echter Tastatur und 'sonstigem Gerät das 
sich als echte Tastatur ausgibt' feststellen kann [0].

Diese ganzen USB Guards sind nur dann sinnvoll, wenn eben gerade nicht 
bekannt ist, welche Tastatur da wirklich angeschlossen ist. Hilft aber 
gegen die Idioten die USB Sticks auf dem Firmenparkplatz finden und 
reinstecken. Gegen einen internen Angreifer ist das aber nichts.

[0] Man könnte jetzt noch ne Art Timingprüfung einbauen, bei der einmal 
gemessen wird wie schnell die Tastatur auf eine Meldung reagiert, um den 
µC in der Tastatur und den Klon zu unterscheiden. Das nachzubilden wäre 
etwas mehr Aufwand, aber dennoch lösbar.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren