Hab das Thema mal abgekoppelt (siehe hier).
Bin auch gerade am Umsetzen der Problematik, will das folgendermassen lösen:
-> IPS-Server: W2k
-> Client (Touch-PC eee PC T91) mit Windows 7
-
Auf dem Touch sind alle Energie-Steuerungen und Screensaver ausgeschaltet, das soll alles IPS erledigen.
-
Auf dem Touch ist nircmd.exe vorhanden.
-
Auf dem Touch ist gphotoshow installiert - zeigt unsere Bildersammlung als Photo-Show.
-
Auf dem Touch ist SuperVisionCam installiert (kostet eine Kleinigkeit, lohnt sich aber - braucht kaum Ressourcen).
-
Die Steuerung vom Server wird mittels PsTools vorgenommen.
- Ausschalten des Client-Monitors:
$cmd = IPS_GetKernelDir()."Tools/pstools/psexec.exe";
$param = "\\\\TPMFR11 -i c:\\Haussteuerung\
ircmd monitor off";
IPS_ExecuteEx($cmd, $param, false, false, 0);
- Einschalten des Client-Monitors:
$cmd = IPS_GetKernelDir()."Tools/pstools/psexec.exe";
$param = "\\\\TPMFR11 -i c:\\Haussteuerung\
ircmd monitor on";
IPS_ExecuteEx($cmd, $param, false, false, 0);
- Starten des Client-Screensavers:
$cmd = IPS_GetKernelDir()."Tools/pstools/psexec.exe";
$param = "\\\\TPMFR11 -i c:\\Haussteuerung\
ircmd screensaver";
IPS_ExecuteEx($cmd, $param, false, false, 0);
- Stoppen des Client-Screensavers:
$cmd = IPS_GetKernelDir()."Tools/pstools/pskill.exe";
$param = "\\\\TPMFR11 gPhotoShow.scr";
IPS_ExecuteEx($cmd, $param, false, false, 0);
Wobei immer:
- „Tools/pstools/“ ist der Pfad zu PsTools auf dem Server (relativ zu IPS-Directory)
- „TPMFR11“ ist der Client
- „c:\Haussteuerung\“ ist die Location von nircmd.exe auf dem Client
Einige Erklärungen:
- nircmd verfügt auch über einen remote-Modus, kam aber damit nicht wirklich zum Erfolg
- zum Beenden des Screensavers lediglich Obige Lösung gefunden (vielleicht hat noch jemand eine Bessere ? ;))
- Auf den Windows 7 Clients musste ich noch diesen „Trick“ umsetzen
Wie sieht das in der Praxis aus ?
- Auf dem Client ist eine DashBoard-Oberfläche aktiv
- gesteuert durch IPS wird nach einer gewissen Zeit der Screensaver aktiviert
- Falls das DashBoard bedient wird (TabIndex OnChange), wird immer ein Timer neu gestartet
-> nach Ablauf dieses Timers wird wieder der Screensaver aktiviert - Bei einer Bewegung (detektiert durch SuperVisionCam) wird der Monitor mittels nircmd eingeschaltet und IPS mittels wget informiert.
-> IPS schaltet bei Abwesenheit (oder xx Minuten ohne Bewegung) den Monitor aus
Ist noch nicht ganz alles Praxis-erprobt - kommt Zeit (- kommt WAF :)) - kommt Rat.
Vielleicht kann der Eine oder Andere eine Idee gebrauchen…
Gruss
Tinu