IPSTools - Tools für Monitor, Maus und mehr ...

Die IPS_Execute kann ich ja insofern nicht nutzen, da ich einen Nicht-IPS-Rechner fernsteuere.
Hab aber mal deinen Befehl genutzt und - hoffentlich korrekt - eingebaut.

Leider fliegt mir hier auch hier IPS Tools um die Ohren, sobald ich ausführe… ne Idee ?

<?

define ("ID_IPSTOOLS_SOCKET",       33105 /*[IPSTools_Register]*/);

CSCK_SendText(ID_IPSTOOLS_SOCKET , 'RunProgram; c:\windows\system32\shutdown.exe /s /t 60;' );

?>

Kennst du die PsTools ?
PsShutdown sollte funktionieren

Gesendet von meinem iPad mit Tapatalk HD

Hallo,

mir fehlte in den IPSTools auch die Möglichkeit den Rechner Herunterzufahren, Neuzustarten oder in den StandBy zu versetzten.

Da hier auch der Quellcode veröffentlich wurde, habe ich mir diese Funktion ergänzt.

Eine Funktion um den Rechner zeitgesteuert wieder aus den StandBy aufzuwecken habe ich noch nicht komplett fertig.

Weiterhin haben sich die IPSTools beim beenden immer aufgehängt und ich musste den Task „abschießen“, dazu habe ich das Stoppen der verwendeten Threads etwas verändert - ob das so die ideale Lösung ist, weiß ich nicht - aber es funktioniert. (Habe mit Threads bis jetzt noch nichts zu tun gehabt).

Ich hoffe das ist in Ordnung, wenn ich hier den veränderten Quellcode und die beiden benötigten Dateien wieder veröffentliche?

Hier sind die benötigen „Befehle“:

function IPSTools_SetStandby() {
   CSCK_SendText(ID_IPSTOOLS_SOCKET, 'SetStandby');
}


function IPSTools_Shutdown() {
   CSCK_SendText(ID_IPSTOOLS_SOCKET, 'Shutdown');
}

function IPSTools_Reboot() {
   CSCK_SendText(ID_IPSTOOLS_SOCKET, 'Reboot');
}

Gruß

Christian

IPSTools.zip (248 KB)

Hallo Christian, das ist ja klasse.

Ist es ein großer Aufwand für Dich auch den Ruhezustand einzubauen ?

Nein, kein Problem!

Anbei die neuen Dateien.
Zusätzlich zum letzten Post habe ich die Standby-Funktionen erweitert und wie gewünscht den Ruhezustand hinzugefügt.

Hier der IPS-Code:


// PC in den Ruhezustand versetzen
function IPSTools_SetHibernate() {
   CSCK_SendText(ID_IPSTOOLS_SOCKET, 'SetHibernate');
}

// PC in den Standby versetzen und zur angebenden Zeit wieder aufwecken
// Die Zeit muss im folgenden Format übergeben werden:
// "DD.MM.YYYY HH.MM" z.B.: "27.03.2013 08:00"
function IPSTools_SetStandbyAndWakeUp($WakeUpTime) {
   CSCK_SendText(ID_IPSTOOLS_SOCKET, 'SetStandbyAndWakeUp;'.$WakeUpTime);
}

// Funktion zum Testen der gewünschten Wake-Up Zeit ohne das der PC in den Standby geht
function IPSTools_TestWakeUpTime($WakeUpTime) {
   CSCK_SendText(ID_IPSTOOLS_SOCKET, 'TestWakeUpTime;'.$WakeUpTime);
}

Gruß

Christian

IPSTools.zip (248 KB)

Hab die Dateien durchgetauscht und alles probiert… bekomme aber keine deiner Funktionen zum laufen.

Ziel Rechner ist WinXP Home Premium 64 bit. Alle „alt“ Funktionen gehen wunderbar !
Desweiteren hatte ich nun - vorher noch nie - das erste mal einen IPS Absturz aufgrund eines Thread Problems…

Irgend ne Idee ??

Nee ich habe nicht wirklich eine Idee.

Normalerweise sollte es reichen die dll-Datei auszutauschen, an der exe-Datei habe ich nichts verändert!

Ich selbst benutze die Tools unter Windows 7 32bit bis jetzt ohne Probleme.

Windows XP Home oder Pro 64bit habe ich leider aktuell nicht zum Testen.

Ich habe die Tools gerade auf
-Win8 Pro 64bit getestet - Shutdown/Restart/Hibernate/Standby funktionieren.
-Win7 Pro 64bit (als virtuelle Maschine) - Shutdown/Restart funktionieren (Hibernate/Standby gibt es nicht in der virt. Maschine)

Ich kann es evtl. noch mal auf XP Pro 64bit testen - muss dazu aber erst mal eine virt. Maschine installieren.

Ich kann jetzt nur noch „doofe“ Vermutungen anstellen:
Ich habe in den PHP-Funktionen „ID_IPSTOOLS_SOCKET“ verwendet - evtl. liegt dort der Fehler?

Gruß

Christian

Läuft jetzt bei mir, habe die „function“ Zeile weggelassen und sende nur den CSCK Befehl, dann gehts ! :smiley:

Freut mich das es Funktioniert!

Gruß

Christian

Hab mich heute auch mal mit dem Teil beschäftigt. Super Leistung :). Leider bin ich auch mit dem Befehl RunProgram, welche ich unbedingt haben wollte auf die Schn… gefallen. Die Lösung ist ganz einfach, wenn man es weiß :wink:
Die Leerzeichen aus dem übergebenen String müssen raus.

CSCK_SendText(50259,'RunProgram;c:\Windows
otepad.exe;');

Bitte auch unbedingt ein Semikolon am Schluss setzten, auch wenn kein Parameter übergeben wird c# scheint dort mit leeren Strings Probleme zu haben.

Vielleicht hilft es ja noch jemandem.

Mahlzeit, seit ich Windows 8 einsetze, funktioniert die „ScreenON“ Geschichte nicht mehr. „ScreenOFF“ geht wunderbar…

Kann man das anpassen, das die Geschichte mit Windoof 8 läuft ? Irgendwann müssen wir wohl alle mal umsteigen :frowning:

Schon mal bei jemandem anderen aufgetaucht, die Win8 Problematik ? Gibts einen Workarround ? Habs auch mit Kompatibilitätsmodi etc. nicht hinbekommen.

Kann ich mit Win 8.1 bestätigen.

Zum allgemeinen Shutdown Problem:
Bereits vor über einem Jahr habe ich hier http://www.ip-symcon.de/forum/threads/15155-IPSTools-Tools-für-Monitor-Maus-und-mehr?p=154899#post154899 ein Update veröffentlicht, welches diese Versionen alle bietet.

Ob meine (vielleicht auch die gleiche?) Methode mit Win8 funktioniert, kann ich nicht sagen.

@Nico

hast Du schon mal versucht, das Ding mit SetMousePosition(x,y) aufzuwecken - das hab ich irgendwo als Workaround gelesen …

@tobiasr

Hast Du schon mal überlegt, dass Du Deine Änderungen über GIT (also mein Repository zu forken) veröffentlichst. Dann könnte ich Deine Änderungen in Zukunft immer wieder sehr einfach übernehmen !

Ich hätte noch eine Anpassung die via Cam erkennt ob eine Bewegung stattgefunden hat und dann den MouseMove auf 0 setzt und damit den Monitor einschaltet. Besteht da Interesse dran und wenn ja, wie kann das am besten eingepflegt werden?

Wie muss der Befehl dazu lauten?
Ich habe es mit

CSCK_SendText(ID_IPSTOOLS_SOCKET , 'SetMousePosition(50,50)');

probiert.
Der Effekt ist gleich

CSCK_SendText(ID_IPSTOOLS_SOCKET , 'ScreenPowerOn');

… Die Bildschirm geht kurz an und 1 Sekunde später wieder aus.

eher so:


CSCK_SendText(ID_IPSTOOLS_SOCKET , 'SetMousePosition;50;50');  
CSCK_SendText(ID_IPSTOOLS_SOCKET , 'SetMousePosition;100;100');  

hier der Beitrag, den ich dazu gefunden habe:
http://stackoverflow.com/questions/12572441/sendmessage-sc-monitorpower-wont-turn-monitor-on-when-running-windows-8

Hmm…Schade… Effekt bleibt… Sekunde an, dann wieder aus :frowning:

Genau den Effekt hatte ich auch deshalb hab ich das Tool so umgebaut, dass ich das Display via IPSTools nach 20 Sekunden ohne MouseMove ausschalte und auch darüber wieder ein, wenn die Bewegung erkannt wurde.