If Windows Media Player is still installed, you can play a video on loop and minimize it (the sample "Wildlife" videos work fine for this). By default, as long as a video is playing, the screen won't lock.
Wie kann ich eine durch Richtlinien erzwungene Bildschirmsperre in Windows 7 verhindern?
Unser Firmen-BOFH erzwingt die Einstellung der Bildschirmsperre mit einer lächerlich kurzen Verzögerung. Es ist frustrierend und kontraproduktiv.
Gibt es eine Möglichkeit, die automatische Bildschirmsperre zu verhindern? Ich würde davon ausgehen, dass es keine Möglichkeit gibt, die durch die Richtlinie erzwungene Einstellung außer Kraft zu setzen, aber vielleicht gibt es eine Software, die die Benutzeraktivität nachahmt.
Ich frage nur, bevor ich ein perpetuales Mausrad aufstelle. (Kapiert?)
11 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
Ich benutze ein Skript, das ich idle.vbs tippe:
Dim objResult Set objShell = WScript.CreateObject("WScript.Shell") Do While True objResult = objShell.sendkeys("") Wscript.Sleep (6000) Loop
Alle sechs Sekunden wird die Num-Taste auf der Tastatur schnell umgeschaltet, wodurch Windows den Eindruck erhält, dass jemand mit der Tastatur interagiert, was die Bildschirmsperre verhindert. Dies läuft auf Vanilla-Fenstern. Sie benötigen keine Entwicklungs- oder Scripting-Tools, um es zu verwenden. Erstellen Sie einfach eine Textdatei mit der Erweiterung .vbs und doppelklicken Sie darauf (oder fügen Sie sie in Ihre Startelemente ein).
Bearbeiten: Sie können dieses Skript in Ihre Startobjekte einfügen
choco install IdleVbs -source https://www.myget.org/F/joshrivers-utility/
Weitere Informationen zum choco
CLI-Installationsprogramm von Choclatey ( ) finden Sie unter:
Eine weitere Option ist das Freeware- Caffeine- Programm. Es ist auch für die kommerzielle Nutzung frei. Von der Homepage des Programms:
Wenn Sie Probleme mit dem Sperren Ihres PCs oder dem Einschlafen haben, wird Koffein es wach halten. Es wird simuliert, indem alle 59 Sekunden ein Tastendruck simuliert wird. Ihr Gerät denkt, dass Sie noch an der Tastatur arbeiten, sodass der Bildschirm nicht gesperrt wird und der Bildschirmschoner nicht aktiviert wird.
Koffein simuliert alle 59 Sekunden ein F15-Key-Up-Ereignis. Von allen verfügbaren Tastendrücken ist F15 wahrscheinlich die am wenigsten aufdringliche (ich habe noch nie eine PC-Tastatur mit dieser Taste gesehen!) Und am wenigsten Ihre Arbeit beeinträchtigen.
Mit dieser Standardlösung können Sie auch steuern, wann sie aktiviert und deaktiviert werden soll:
Durch Doppelklicken auf das Programmsymbol wird die Kaffeekanne geleert, was durch das Symbol dargestellt wird, und das Programm wird vorübergehend deaktiviert. Wenn Sie erneut darauf klicken, wird der Topf erneut gefüllt, und Ihre Maschine bleibt wach.
Sie können ein AutoIt- Skript erstellen, um entweder fortlaufend eine nicht verwendete Taste zu drücken (z. B. die Num-Sperre umschalten, Bildlaufsperre aktivieren), eine Minute lang schlafen zu lassen und zu wiederholen. Wenn Sie die Tastatur häufig verwenden, können Sie sie dazu bringen, die Maus um einen Pixel in eine beliebige Richtung zu bewegen.
Wenn Sie nicht möchten, dass es kontinuierlich ausgeführt wird, können Sie das Skript auch als geplante Aufgabe starten (sofern Sie über Zugriff verfügen), die gestartet wird, nachdem der Computer längere Zeit inaktiv war.
Und dies ist ein sehr einfaches Skript, um eine unsichtbare Mausbewegung auszuführen, wenn Sie nicht in die AutoIt-Syntax einsteigen möchten:
While True Local $pos = MouseGetPos() MouseMove($pos[0]-1, $pos[1]-1, 0) MouseMove($pos[0], $pos[1], 0) Sleep(540000) WEnd
Dieses Skript bewegt den Mauszeiger um ein Pixel nach links oben, kehrt dann zurück und schläft dann für 9 Minuten ( 540000
Millisekunden). Wenn ein Skript ausgeführt wird, sehen Sie das AutoIt-Symbol in der Taskleiste. Sie können es mit einem Rechtsklick auf dieses Symbol anhalten und die entsprechende Option auswählen.
Um ein Skript zu erstellen, installieren Sie AutoIt, klicken Sie mit der rechten Maustaste in einen beliebigen Ordner und wählen Sie New
> AutoIt v3 Script
, benennen Sie es, klicken Sie mit der rechten Maustaste auf dieses neue Skript, wählen Sie Edit
, fügen Sie den oben angegebenen Code ein und speichern Sie. Sie können es sogar .exe
(aus dem Kontextmenü) kompilieren, um beispielsweise über den Windows-Scheduler zu starten.
Compile this in Visual Studio or C# Express and run it from a command prompt (or double click it). Requires .NET 4.0 or above. It does everything you are looking for.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Threading; using System.Runtime.InteropServices; using System.Windows.Forms; namespace ImWorkin { class Program { [FlagsAttribute] public enum EXECUTION_STATE : uint { ES_SYSTEM_REQUIRED = 0x00000001, ES_DISPLAY_REQUIRED = 0x00000002, ES_CONTINUOUS = 0x80000000 } public SYSTEMTIMEOUTS TimeOuts { get { return sysTimeouts; } } public struct SYSTEMTIMEOUTS { public int BATTERYIDLETIMEOUT; public int EXTERNALIDLETIMEOUT; public int WAKEUPIDLETIMEOUT; } [DllImport("USER32.DLL", CharSet = CharSet.Unicode)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("USER32.DLL")] public static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE flags); [DllImport("user32.dll", SetLastError = true, EntryPoint ="SystemParametersInfo")] internal static extern int SystemParametersInfo(int uiAction, int uiParam, ref int pvParam, int fWinIni); private static System.Threading.Timer preventSleepTimer = null; public const int SPI_GETBATTERYIDLETIMEOUT = 252; public const int SPI_GETEXTERNALIDLETIMEOUT = 254; public const int SPI_GETWAKEUPIDLETIMEOUT = 256; public static int Counter = 0; public static int timeOutinMS = 0; public static int batteryIdleTimer; public static int externalIdleTimer; public static int wakeupIdleTimer; public static SYSTEMTIMEOUTS sysTimeouts; static void Main(string[] args) { Console.WriteLine("You are about to be workin!! Just a moment...I need to calculate a few values."); string dots = string.Empty; for (int i =2; i < 60; i++) { dots = ""; for (int ii = 0; ii < i; ii++) { dots = dots + "."; } Thread.Sleep(100); Console.Clear(); Console.WriteLine("You are about to be workin!! Just a moment...I need to calculate a few values."); Console.WriteLine(dots); } GetSystemTimeOuts(); if (timeOutinMS < sysTimeouts.BATTERYIDLETIMEOUT) timeOutinMS = sysTimeouts.BATTERYIDLETIMEOUT; if (timeOutinMS < sysTimeouts.EXTERNALIDLETIMEOUT) timeOutinMS = sysTimeouts.EXTERNALIDLETIMEOUT; if (timeOutinMS < sysTimeouts.WAKEUPIDLETIMEOUT) timeOutinMS = sysTimeouts.WAKEUPIDLETIMEOUT; if (timeOutinMS == 0) timeOutinMS = 30; DisableDeviceSleep(); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("OK. I have calculated your computers timeout periods and set the "); Console.WriteLine("necessary hooks. Your computer will not shut off the monitor, will"); Console.WriteLine("show active in any chat programs,the screensaver is disabled and "); Console.WriteLine("the computer will not lock! Anyone looking at you eaither locally "); Console.WriteLine("or remotely will think you are hard at work."); Console.WriteLine(""); Console.WriteLine("Now go do something fun...I got your back ;)"); Console.WriteLine("Oh yeah....if you close this window OR press `q' in this "); Console.WriteLine("window you are going to have to actually work."); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("This text will disappear in a 30 seconds. Just in case someone comes "); Console.WriteLine("by and reads your screen!"); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Need custom coding? Kenneth.gore@gmail.com"); while (Console.KeyAvailable == false) { Thread.Sleep(250); ConsoleKeyInfo cki = Console.ReadKey(true); if (cki.KeyChar == 'q') break; } } public static void DisableDeviceSleep() { SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS); preventSleepTimer = new System.Threading.Timer(new TimerCallback(PokeDeviceToKeepAwake), null, 0, timeOutinMS * 1000); } public static void EnableDeviceSleep() { preventSleepTimer.Dispose(); preventSleepTimer = null; } private static void PokeDeviceToKeepAwake(object extra) { Counter++; try { SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS); IntPtr Handle = FindWindow("SysListView32", "FolderView"); if (Handle == IntPtr.Zero) { SetForegroundWindow(Handle); SendKeys.SendWait("%1"); } if (Counter > 1) Console.Clear(); } catch { } } public static void GetSystemTimeOuts() { sysTimeouts.BATTERYIDLETIMEOUT = -2; sysTimeouts.EXTERNALIDLETIMEOUT = -2; sysTimeouts.WAKEUPIDLETIMEOUT = -2; if (SystemParametersInfo(SPI_GETBATTERYIDLETIMEOUT, 0, ref batteryIdleTimer, 0) == 1) sysTimeouts.BATTERYIDLETIMEOUT = batteryIdleTimer; else sysTimeouts.BATTERYIDLETIMEOUT = -1; if (SystemParametersInfo(SPI_GETEXTERNALIDLETIMEOUT, 0, ref externalIdleTimer, 0) == 1) sysTimeouts.EXTERNALIDLETIMEOUT = externalIdleTimer; else sysTimeouts.EXTERNALIDLETIMEOUT = -1; if (SystemParametersInfo(SPI_GETWAKEUPIDLETIMEOUT, 0, ref wakeupIdleTimer, 0) == 1) sysTimeouts.WAKEUPIDLETIMEOUT = wakeupIdleTimer; else sysTimeouts.WAKEUPIDLETIMEOUT = -1; } } }
Es gibt eine Android-App namens "Timeout Blocker", die in einem Intervall vibriert und Sie können Ihre Maus darauf legen. Es heißt, es nicht bei der Arbeit zu verwenden. https://play.google.com/store/apps/details?id=com.isomerprogramming.application.timeoutblocker&hl=de
In meinem Fall hat nur diese eine Zeile den Trick:
SendKeys.Send("");
Timer_Tick
Setzen Sie es einfach in das Ereignis und stellen Sie das Zeitgeberintervall auf zB 60000ms.
Maus-Jiggler könnte eine Option sein: https://mousejiggler.codeplex.com/
Ich benutze gerne einfache und integrierte Optionen ( keine zusätzliche Software ), wie ein Powershell-Skript (danke https://dmitrysotnikov.wordpress.com/2009/06/29/prevent-desktop-lock-or-screensaver-with-powershell/ ) mit dem "f15" als Schlüssel zum Erfolg (dank Koffein. Es ist in der Tat am wenigsten störend)
param($minutes = 180) write "... screen will be awake for $minutes" $myshell = New-Object -com "Wscript.Shell" for ($i = 0; $i -lt $minutes; $i++) { write "... screen will be awake for" ($minutes-$i) Start-Sleep -Seconds 60 $myshell.sendkeys("") }
Fügen Sie dies in eine myScriptName.ps1 ein und starten Sie es über eine Desktop-Verknüpfung oder eine Befehlszeile: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop "C:\Users\myUser\Desktop\myScriptName.ps1"
UPDATE: Vielleicht gab es einige Wechsel vom Administrator, aber das ist für mich funktioniert nicht mehr Jetzt muss ich ein autohotkey-Skript von NBirnel verwenden: https://github.com/nbirnel/nosleep - diese Arbeit perfekt, weil es bewegt die Maus (ohne Arbeit abzulenken)
Der richtige Weg, um damit umzugehen, ist:
- Gehen Sie in die Registry, wo sich die Richtlinie befindet
- Stellen Sie den Wert auf den gewünschten Wert ein
- und ändern Sie die Registrierungsschlüsselberechtigungen
- Verweigern Sie nur Personen den Schreibzugriff
Verwandte Probleme
-
12
Warum wird der Ordner / winsxs so groß und kann er verkleinert werden?
-
2
Erhöhte Berechtigungen für Startanwendungen in Windows?
-
14
PDF Viewer unter Windows
-
7
Welche Windows-Dienste kann ich sicher deaktivieren?
-
8
Firefox PDF-Plugin zum Anzeigen von PDF-Dateien im Browser unter Windows
-
1
Windows verliert das Bildschirmlayout
-
1
Gibt es eine Möglichkeit, Installationen / Updates zu verhindern, die meine Festplatte mit kryptisch...
-
1
Wie kann ich von Ubuntu aus über das Netzwerk auf Windows Vista-Drucker zugreifen?
-
6
Log Viewer unter Windows
-
3
Windows-Hintergrundproblem mit zwei Bildschirmen