SendMessage/SC_MONITORPOWER nicht schalten Sie den monitor AUF, wenn unter Windows 8
Ich schalte meine Monitore an-und ausschalten, indem Sie den folgenden code:
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MONITORPOWER = 0xF170;
private const int MonitorTurnOn = -1;
private const int MonitorShutoff = 2;
//Turn them off
SendMessage(f.Handle, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)MonitorShutoff);
//Turn them on
SendMessage(f.Handle, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)MonitorTurnOn);
Diese verwendet, um die Arbeit als gedacht, aber nach der Installation von Windows 8 (Ich nehme an, dies ist der Grund, da ich sehe, haben andere das gleiche Problem) drehen Sie den Bildschirm auf, wird nicht funktionieren. Ich kann immer noch ausgeschaltet werden, aber egal wie oft ich laufen SendMessage() mit MonitorTurnOn, ich habe immer noch die Maus bewegen oder eine Taste drücken, um die Bildschirme wieder auf.
Irgendwelche Vorschläge, wie man diese Arbeit auf Windows 8?
- ist es möglich, shut off nur einen bestimmten monitor?
- Nicht soweit ich weiß.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem, die Lösung, die ich gefunden ist, die Maus zu bewegen :
Wird es wecken Sie den monitor auf.
Earlypearl
Sleep
hier. Ein einziger Zug mit delta 0, 0 genügt.Hier Earlypearl die Antwort mit den benötigten umfasst:
powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern void mouse_event(uint dwFlags, int dx, int dy, uint dwData, int dwExtraInfo);' -Name user32 -PassThru)::mouse_event(1,40,0,0,0)
Hatte ich die gleiche Idee für dieses Problem wurde Nur der Liebe earlypearl die Lösung ein klein wenig und es getestet auf windows XP, 7, 8, Server 2008 und alle funktionierte perfekt.
muss es nicht zweimal aufgerufen werden.
Habe ich herausgefunden, dieser trick funktioniert unter windows 8.1
Schalten Sie
Schalten Sie Sie auf
Laut MSN "1" ist, Schalter monitor auf "Low-Power" - aber es funktioniert der trick. Der Bildschirm schaltet sich nicht aus mehr.