2016-10-04 3 views
2

Ich habe einen Laptop, der Windows 7 läuft, aber möglicherweise zu Windows 10 wechseln. Ich möchte mein eigenes Dienstprogramm, das erkennt, wenn der Laptop angedockt oder abgedockt ist, dann die Stromversorgung ändern Profileinstellungen. Ich habe es bereits eingerichtet, um zu tun, was ich will, wenn es von der Batterie im Vergleich zu AC in den Standard-Windows-Profilen angetrieben wird, aber ich möchte einen anderen Energiesparplan, wenn der Laptop auf der Dockingstation ist, als wenn es nur in das Netzteil eingesteckt ist nicht auf der Dockingstation.Detektieren Laptop angedockt oder abgedockt Windows 7+

Bisher Ich habe ein Arbeitsprogramm, das in der Taskleiste mit nur einem kleinen Symbol gestartet, und es werden die Änderungen, die ich will, wenn es gegen abgedockten dockt ist, aber die Weg ich die Bestimmung der Laptop angedockt ist durch die Suche nach dem spezifischen fest codierten Monitor-Namen, den ich über EnumDisplayDevices-Aufrufe an meine Dockingstation angeschlossen habe (zB "Samsung U32D970Q"), wenn WM_DEVICECHANGE passiert.

Das Hauptproblem ist, wenn ich jemals den Monitor ändere, dann wird das Programm aufhören zu arbeiten. Ich könnte übergeben Sie einen Parameter an das Programm beim Start mit dem Namen des Monitors zu suchen, aber ich versuche herauszufinden, ob es einen besseren Weg gibt. Bin ich dumm dabei?

Gibt es eine Windows 7 + -Funktion, bei der das Betriebssystem erkennen kann, dass sich ein Laptop auf einer Dockingstation befindet oder nicht?

+0

Wenn Ihr Dock Strom liefert, [prüfen Sie den AC-Leitungsstatus.] (Http://stackoverflow.com/questions/7355331/check-if-computer-is-plugged-into-ac-power-in-batch -file) – user4581301

+0

@ user4581301: Danke, aber ich stelle auch Wechselstrom zur Verfügung, wenn ich zu Hause vom Stromziegel bin. Das Problem ist, dass es einen DC-Fall gibt, der von Windows abgedeckt wird, aber ich habe zwei separate AC-Fälle, die ich anders handhaben möchte. Ein AC von Dock und ein AC von Power Brick wenn nicht am Dock. Es mag albern klingen, aber ich möchte, dass der große Bildschirm bei der Arbeit bleibt, um die Zeit auf meinem Bildschirmschoner zu zeigen, während ich an meiner Werkbank bin. Wenn ich zu Hause bin, möchte ich, dass der Bildschirm des Laptops zu schlafen geht, so dass ich es nicht aus dem Augenwinkel sehe, wenn ich ein Spiel oder etwas auf meinem Haupt-PC spiele. – EJ42

Antwort

0

Ich konfrontiert ähnliches Problem zu bestimmen, ob mein Laptop angedockt ist. Mein ultimatives Ziel ist es, das Laptop-Netzteil von der Dockingstation mit einem Smart-Plug zu verbinden und den Google Home Assistant zu verwenden, um den Laptop mithilfe von Sprachbefehlen ein- und auszuschalten. Um den Laptop einzuschalten, wenn die Stromversorgung wiederhergestellt ist, müssen Sie "Wake On AC" im BIOS aktivieren. Das Problem ist, wenn die Stromversorgung unterbrochen wird, läuft das Notebook immer noch im Akkubetrieb. Ich brauchte einen Weg für eine Hintergrundaufgabe richtig zum Herunterfahren von Windows, wenn diese Bedingungen erfüllt sind:

1) auf Laptop Stromversorgung wird von AC zu DC

geändert

2) Die Laptop-Dockingstation angedockt ist

Die oben genannten Bedingungen stellen sicher, dass der Laptop nicht heruntergefahren wird, wenn ich einfach abdocke. Ich habe herausgefunden, dass zusätzliche Geräte im Geräte-Manager vorhanden sind, wenn der Laptop angedockt ist. Meine Lösung besteht darin, alle Geräte beim Andocken/Abdocken aufzuzählen und Ergebnisse in zwei Textdateien zu speichern und sie mit windiff zu vergleichen, um die Unterschiede zu sehen. Verwenden Sie einfach ein oder zwei der "Extra-Geräte" -Differenzen, um festzustellen, ob der Laptop angedockt ist.

Bei der Konfiguration meines DELL-Laptops + Dockingstation sind "HID-Complaint *" - Geräte immer vorhanden, wenn sie angedockt sind, und fehlen beim Abdocken. Ich habe versucht, CM_Is_Dock_Station_Present und GetCurrentHwProfile verwenden, aber beide nie Dock-Status korrekt melden.