Monitor automatisch uitschakelen tussen bepaalde uren

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • edmunt
  • Registratie: Maart 2010
  • Laatst online: 24-04 19:19
Bestaat er de mogelijkheid om een pc monitor tussen bepaalde uren te laten uitgaan? Laat ons zeggen dat de monitor om 10 uur s'morgens automatisch aangaat en om 22 uur zich automatisch afsluit.

Ik zou graag bepaalde informatie op een monitor weergeven. Om burn-in te voorkomen zou ik graag de monitor laten uit gaan tussen bepaalde uren.

Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 27-09 22:07

MAX3400

XBL: OctagonQontrol

Gewoon een scheduled task maken; de PC in sleep zetten en 99% van de monitoren gaan dan ook uit. En dan even testen of de PC om bepaalde tijd weer wil ontwaken met een volgende task.

Alternatief: zet een tijdklok van 5 Euro tussen de voeding van de monitor en stopcontact?

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +1 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 15:03
Meest fool-proof is een tijdschakelklok... daarmee voorkom je dat de monitor toch per ongeluk weer van standby schiet, het is systeemomnafhankelijk, en iedereen kan ermee overweg (en het kost bijna niets).
Afbeeldingslocatie: https://www.hornbach.nl/data/shop/D04/001/780/491/178/83/DV_8_7660295_01_4c_NL_20140909152014.jpg

Acties:
  • 0 Henk 'm!

  • Arunia
  • Registratie: Februari 2003
  • Laatst online: 14:47
Maar, dan zou TS moeten testen of de monitor ook weer echt aan gaat na een stroomonderbreking en niet in de power off stand.

Acties:
  • 0 Henk 'm!

  • GoT
  • Registratie: Mei 2004
  • Niet online

GoT

/ / ( . Y . ) \ \

Op de aan-uit knop van de monitor drukken ?
Zo doe ik het altijd.

o << Your asshole before prison.
O << Your asshole after prison.


Acties:
  • +1 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 15:03
Powershell code om je monitor uit te schakelen (let op, dit roept zogenaamde unmanaged code aan, script heb ik even snel in elkaar gezet net dus het is niet uitgebreid getest, op mijn Windows 10 v1803 machine werkt dit)
PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$Domain = [System.AppDomain]::CurrentDomain
$AssemblyName = [System.Reflection.AssemblyName]::new('Messages')
$Assembly = $Domain.DefineDynamicAssembly($AssemblyName,'Run')
$ModuleBuilder = $Assembly.DefineDynamicModule('Messages')

# Define the class that will hold the PInvoke method
$MessageClass = $ModuleBuilder.DefineType('Messages','Public')

# Define the PInvoke Method
$SendMessage = $MessageClass.DefinePInvokeMethod(
'SendMessageW',
'User32.dll',
@('Public','Static','PinvokeImpl'),
[System.Reflection.CallingConventions]::Standard,
[System.IntPtr],
@([System.IntPtr],[Uint32],[System.IntPtr],[System.IntPtr]),
[System.Runtime.InteropServices.CallingConvention]::Winapi,
[System.Runtime.InteropServices.CharSet]::Unicode
)

[void]$SendMessage.DefineParameter(1,'In','hWnd')
[void]$SendMessage.DefineParameter(2,'In','Msg')
[void]$SendMessage.DefineParameter(3,'In','wParam')
[void]$SendMessage.DefineParameter(4,'In','lParam')


[void]$SendMessage.SetImplementationFlags($SendMessage.GetMethodImplementationFlags() -bor [System.Reflection.MethodImplAttributes]::PreserveSig)
[void]$MessageClass.CreateType()

$WM_SYSCOMMAND = 0x0112
$SC_MONITORPOWER = 0xF170
$POWER_OFF = 2
$POWER_ON = -1

[messages]::SendMessageW(0xffff,$WM_SYSCOMMAND,$SC_MONITORPOWER,$POWER_OFF)


Dit zou je in een scheduled task kunnen gooien, ik verwacht dat dit alleen werkt voor de logged on user (dus je kunt het niet schedulen onder een andere user als degene die ingelogd is).
Ik heb de waarde voor powerOn wel in het script geplaatst, echter werkt dit niet meer in Windows 10.

Om het scherm weer aan te zetten zou je een simpel script kunnen gebruiken die bv SendKeys doet (keystoke verzenden) of bv gescript de muis een x aantal pixels laten moven.
Voorbeeld :
PowerShell:
1
2
Add-Type -AssemblyName System.Windows.Forms # load the Winforms Assembly
[System.Windows.Forms.SendKeys]::SendWait(" ") # Send a space

[ Voor 2% gewijzigd door Killah_Priest op 24-05-2018 23:02 . Reden: spelfouten ]

Pagina: 1