Hallo, habe 2 Fragen/Probleme bezüglich des Bildschirmschoners / Ruhezustandes bei Win XP in C++:
ich möchte gerne den aktuellen Bildschirmschoner (in Windows XP) starten lassen. Da ich im Internet nichts von wegen rundll32.exe und dem bildschirmschoner gefunden habe, musste ich mir was anderes überlegen. Jetzt habe ich schon herausgefunden, dass der aktuelle Bildschirmschoner in der Registry unter
abgelegt ist.
Jetzt könnte ich diesen Wert auslesen lassen, aber ich bekomms net hin, den ausgelesenen wert zu öffnen *?* vielleicht kann mir da jemand helfen. Mein momentaner quellcode sieht folgendermaßen aus, wobei der wert der datei erst mal nur auf dem bildschirm ausgegeben wird:
-----------------------------------------
so das andere Problem:
Mein Tool soll den Computer aber nun in den Ruhezustandsmodus herunterfahren. Aber das geht nur, wenn der aktiviert ist, weil er sonst in den Standby fährt.
Gibt es ne Möglichkeit den automatisch zu aktivieren?
Hab schon mit google ne halbe ewigkeit gesucht aber rein gar nichts gefunden :(
Das einfachste wäre ja, wenn man es mit der registry machen könnte. Darum habe ich mal nen Reg Monitor neben laufen lassen und hab folgendes festgestellt:
da gibts jetzt nen Eintrag "Heuristics"
Wenn der Ruhezustandsmodus deaktiviert ist, sieht das ganze folgendermaßen aus: XX XX XX XX XX XX 00 XX XX ...
wenn er aktiviert ist, sieht das folgendermaßen aus: XX XX XX XX XX XX 01 XX XX ...
Nur, wenn ich jetzt diesen eintrag in der registry ändere, hat das leider keinerlei auswirkung, er bleibt deaktiviert bzw. aktiviert :(
Vielleicht hat ja jemand n Vorschalg, wenn nicht sogar ne komplett andere idee.
mfg
Yoda2003
ich möchte gerne den aktuellen Bildschirmschoner (in Windows XP) starten lassen. Da ich im Internet nichts von wegen rundll32.exe und dem bildschirmschoner gefunden habe, musste ich mir was anderes überlegen. Jetzt habe ich schon herausgefunden, dass der aktuelle Bildschirmschoner in der Registry unter
HKEY_CURRENT_USER\Control Panel\Desktop ; SCRNSAVE.EXE
abgelegt ist.
Jetzt könnte ich diesen Wert auslesen lassen, aber ich bekomms net hin, den ausgelesenen wert zu öffnen *?* vielleicht kann mir da jemand helfen. Mein momentaner quellcode sieht folgendermaßen aus, wobei der wert der datei erst mal nur auf dem bildschirm ausgegeben wird:
#include <windows.h>
#include <stdio.h>
int main(int argc, char **argv)
{
unsigned char temp[99] = {""};
unsigned long size = sizeof(temp);
HKEY hKey;
RegOpenKey(HKEY_CURRENT_USER, "Control Panel\\Desktop", &hKey);
RegQueryValueEx(hKey, "SCRNSAVE.EXE", NULL, NULL, temp, &size);
RegCloseKey(hKey);
printf("Value: %s (Size: %lu)\n", temp, size);
return 0;
}
-----------------------------------------
so das andere Problem:
Mein Tool soll den Computer aber nun in den Ruhezustandsmodus herunterfahren. Aber das geht nur, wenn der aktiviert ist, weil er sonst in den Standby fährt.
Gibt es ne Möglichkeit den automatisch zu aktivieren?
Hab schon mit google ne halbe ewigkeit gesucht aber rein gar nichts gefunden :(
Das einfachste wäre ja, wenn man es mit der registry machen könnte. Darum habe ich mal nen Reg Monitor neben laufen lassen und hab folgendes festgestellt:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power
da gibts jetzt nen Eintrag "Heuristics"
Wenn der Ruhezustandsmodus deaktiviert ist, sieht das ganze folgendermaßen aus: XX XX XX XX XX XX 00 XX XX ...
wenn er aktiviert ist, sieht das folgendermaßen aus: XX XX XX XX XX XX 01 XX XX ...
Nur, wenn ich jetzt diesen eintrag in der registry ändere, hat das leider keinerlei auswirkung, er bleibt deaktiviert bzw. aktiviert :(
Vielleicht hat ja jemand n Vorschalg, wenn nicht sogar ne komplett andere idee.
mfg
Yoda2003
Logge dich ein um einen Beitrag zu schreiben.