Da Du den Sourcecode für Deine IPSTools veröffentlich hast, kann ich zu dem Problem „Screensaver deaktivieren“ eine Lösung beitragen. Ich habe Deinem Tool die Methode „StopScreenSaver“ hinzugefügt. Dadurch brauchst Du das Konstrukt mit „keystuff.exe“ nicht mehr.
Die neu kompilierte IPSToolLibrary.dll sowie die geänderten Quelltexte sind angehangen. Vielleicht möchtest Du die Änderungen in einem neuen Release Deiner Tools verwenden.
Für’s nächste Release hätte ich auch noch eine Frage oder Bitte,
public PerformanceUtils()
{
cpuCounter = new PerformanceCounter();
cpuCounter.CategoryName = "Processor";
cpuCounter.CounterName = "% Processor Time";
cpuCounter.InstanceName = "_Total";
//systemUpTime = new PerformanceCounter("System", "System Up Time");
systemUpTime = new PerformanceCounter();
systemUpTime.CategoryName = "System";
systemUpTime.CounterName = "System Up Time";
//ramCounter = new PerformanceCounter("Memory", "Available MBytes");
ramCounter = new PerformanceCounter();
ramCounter.CategoryName = "Memory";
ramCounter.CounterName = "Available MBytes";
}
Ich mußte diese Änderung machen, damit die IPSTools bei mir starten. Ich verstehe nicht, warum das so ist, aber ansonsten bekomme ich die angehängte Exception.
Hat jemand eine Erklärung?
Gruß Jens
@hbraun
Hallo Horst,
ich habe deine Variante für FreeDiskSpace von C,D,E übernommen.
int funktionierte bei mir auch nicht.
Wie rufst Du die drei Funktionen auf?
Diese Variante funktioniert bei mir nicht (einzeln ja, aber alle drei nein)
Hallo,
habe das Script noch mal ein wenig erweitert, so kann man jetzt hiermit den aktuellen Benutzernamen auslesen, den PC herunterfahren/neustarten/sperren und Nachrichten senden. Neustart und herunterfahren ist alternativ auch mit Nachfrage möglich.
Bedienung:
Sperren: Lock
Neustart: Restart
Neustart mit Nachfrage: RestartAsk
Herunterfahren: Shutdown
Herunterfahren mit Nachfrage: ShutdownAsk
Force Shutdown: ForceShutdown
Benutzername: GetUser (sendet dann an die entsprechende Register Variable)
Nachricht: Message;Titel;Text;Zeit zum automatischen schließen (in Sek)
Es gibt noch einen kleinen Fehler: Erst wenn das Hauptfenster minimiert ist, ist es möglich, dass das Nachrichtenfenster in den Vordergrund geht.
Quellcode liefere ich nach, im Anhang die Lib und exe
Hallo,
würde mich zwar gerne dran beteiligen, mir fehlt allerdings zurzeit aus schulischen Gründen die Zeit dafür. Wenn mal wieder Zeit da ist (Ferien kommen bestimmt…) werde ich mich gerne anschließen.
Auch ist das Thema TZusammenarbeit mit „SVN“ o.ä. Neuland für mich und erfordert noch mal extra Zeit zum Einarbeiten.
Im Anhang jetzt der ganze Quellcode (mit ganz kleinen Änderungen).
Könnt es ja gerne schon in eure Version übernehmen und ggf. auch den Fehler mit der Messagebox (eigene Form) beheben.
Und zwar bin ich nicht ganz so fit in php und nun meine Fragen zu IPSTools:
Habe ich das richtig verstanden, um den Monitor bei Inaktivität der Maus auszuschalten muss ich einfach die Beispiel Skripte Receive/Send aus dem Wiki rein kopieren und gut ist?
Wenn das oben richtig ist, verstehe ich nicht wie ich einstellen kann nach welcher Zeit der Monitor aus gehen soll.
So wie ich es in Punkt 1 beschrieben habe, funktioniert es nicht. Monitor schaltet nicht aus.
Muss die Windows eigene Monitor Abschaltung deaktiviert werden? (derzeit deaktiviert)
Entschuldigt die fragen aber wie gesagt ich bin ein Neuling, jedoch in der Besserungsphase.
ich arbeite mich gerade in die IpsTools ein.
In der Wiki ist ja ein Beispiel für ein Sendescript. Gibt es für die anderen Aufrufe schon fertige Funktionen, also eine erweiterte IpsTools.php?
Gerade in letzter Zeit sind ja viele neue Funktionen hinzugekommen.
mit dem IPSTools Script hast Du nur eine Möglichkeit den Monitor zum Zeitpunkt der Ausführung auszuschalten - den Rest mußt Du Dir selber programmieren.
hab da leider auch noch nichts, werde aber in den nächsten Wochen die IPSTools noch besser in die IPSLibrary integrieren und versuche bei der Gelegenheit das Script noch zu erweitern…
Ich möchte mein WeTab über die eingebaute Cam via Bewegungserkennung einschalten. Das funktioniert gut, wenn ich den Bildschirm über die IPSTools ausschalte. Wenn er über die Windows eigene Energiesparfunktion ausgeschaltet wird klappt das nicht.
Jetzt müsste ich aber beim Einschalten des Bildschirms die MouseIdle Variable zurück auf 0 setzen damit ich nach der eingestellten Zeit wieder den Monitor ausschalten kann. Das geht aber bisher leider nicht.
Hat jemand eine Idee, wie man das Ereignis „Monitoraufwachen“ abfangen und den MouseIdle Zähler auf der ClientSeite der Tools auf 0 Setzen kann?
Dafür habe ich mir eine eigene Integer Variable genommen,
die ich mit hochzählen lasse. Dann aber im Bedarfsfall durch
ein Ereignis wieder Nulle. Klappt super mit meinem WeTab.
Ich benutze übrigens mpower.exe zum aufwecken meines Bildschirms.
Und ich kann nicht auf ein externes Ereignis wie einen Bewegungsmelder reagieren denn ich nutzte ja die interen CCam des WeTab.
PS: Mir würde es schon reichen, wenn ich den IPSTools via Batch irgend etwas mit geben könnte sobald der Bildschirm wieder an geht.
Sorry, wenn ich noch mal frage aber wie erkenne ich damit, dass der Screen durch mein Tool auf dem WeTab wieder eingeschaltet wurde?
Es soll doch so sein, dass nach 60 Sekunden ohne Aktion der Screen aus geht (das kann ich einmalig daran erkennen, dass der MouseIdle > 60 ist) ist er das schalte ich den Bildschirm aus. Soweit so gut.
Jetzt kann der Bildschirm vom WeTab irgendwann durch eine Bewegung wieder aufgeweckt werden. Das wird durch YawCam (ein Prog für die Cam nmit Bewegungserkennung) überprüft welches mein MPOWER.EXE startet, das dann den Monitor ein schaltet. Die MouseIdle Time läuft dann aber munter weiter wenn niemand etwas am WebFront ändert und kann nicht mehr verwendet werden um den Bildschirm wieder aus zu schalten.
Ich weiß auch nicht wie ich erkennen soll, dass ein das Aufweck-Event aufgetreten ist damit ich darüber die MouseIdle Time wieder auf 0 stellen kann…
Oder gibt es eine Möglichkeit die IPSTools durch die Cam-Software so zu triggern, dass ich über ein Skript den Bildschirm wieder einschalten kann?
Da ich das einschlafen und das aufwachen von meinem Server steuere
klappt das. Vieleicht könntest du durch EventGhost ein Mausereignis erzeugen
lassen. Ich war da mal dran, hab es aber aus Zeitmangel nicht weiter verfolgt.
Das mit den Mausereignissen habe ich schon versucht, klappt aber in einer Konsolenanwendung nicht
Ich hab jetzt schon mal überlegt eine Systemvar zu erzeugen, die beim Screnn Off auf 0 und über meine Batch auf 1 gesetzt wird und dann im .NET Teil der Tools abgefragt wird.
Auf meinem Touchterminal (W7 x64 Ultimate) läuft es seit kurzem auch nicht mehr. Kann aber nicht genau sagen seit wann. Denke aber es hängt mit den automatischen Updates von W7 zusammen. Sonst hat sich an dem Gerät nichts geändert da die Familie da ständig dran rumfingert und mein Drang an der Installation direkt etwas zu ändern daher nicht wirklich gross ist.
Fehlerbild: Das Programm wird gestarten, taucht in der Taskleiste kurz auf und beendet sich nach ein paar Sekunden wieder.