Bilschirmschoner ausführen

Phantomic

Erfahrenes Mitglied
Hi,
ich hab keine Ahnung von C oder C++
Gibt es eine möglichkeit wie man mit einer Anwendung einen Bildschirmschoner (*.scr) automatisch öffnet.

Wenn's möglich kann mir jemand den kompletten Quellcode schreiben damit ich ihn nur noch kompilieren muss? Ich denke mal des is nicht all zu aufwendig.

danke im voraus:)
 
du meinst jetzt DEN bildschirmschoner, oder meinst du einen bestimmten bildschirmschoner?

wenn du einen bestimmten meinst ists leicht...

system("start c:\pfad\zu\screen\saver\screensaver.scr -S");

wenn du allgemein den standartbildschirmschoner starten willst ists schon komplizierter

SystemParameterInfo(SPI_SETSCREENSAVEACTIVE, 1, NULL, 0);
 
Ich will schon einen bestimmten Laden. Wenn der im gleichen Ordner sein soll heißt des dann wahrscheinlich

Code:
system("start \screensaver.scr -S");

dann hab ich noch ein Problem:
Man soll den Bildschirmschoner nicht abbrechen können. Gibt es dafür ne Möglichkeit das z.B. die Tasteneingaben und Mausbewegungen für eine bestimmte Zeit ignoriert werden.
 
Zuletzt bearbeitet:
Bitte immer einen doppel-Backslash innerhalb eines String benutzen, um einen einzigen darzustellen!
Sonst denkt der Compiler, nach dem Backslash gehts sofort in der nächsten Zeile weiter!

Sind die Screensaver-Einstellungen nicht eigentlich Programm-abhängig?
 
Mein Code schaut jetzt so aus:

Code:
#include <iostream.h>
void main()
{
system("start \\screensaver.scr -S");
};

funktioniert allerdings nicht.
Wo ist der Fehler?
 
#include <iostream.h>
void main()
{
system("start \\screensaver.scr -S");
};

heißt im prinzip so viel wie das der screensaver in x:\screensaver.scr geladen werden soll... wobei x die festplatte mit dem arbeitsverzeichnis deines progys is...

du meinstest wohl
system("start .\\screensaver.scr.scr -S"); ?

.\ is aktuelles verzeichnis... \ is wurzenverzeichnis..


Nein es gibt keine einfache möglichkeit tastatureingaben und mauseingaben abzufangen.. na gut gibts schon genau genommen aber da brauchst du ein fenster dafür das die ganzen nachrichten die normal der screensaver verarbeitet hätte verarbeitet, dann must du die MouseCapture und die nachrichtigen die du damit bekommst unter dem tisch verschwinden lassen
erstell ein nachrichtenfenster das eine position auserhalb des sichbaren bereiches hatt, dann starte den screensaver, nun musst du dein fenster als foreground fenster haben, also SetFocus(hWnd);
nun musst du die mouseCapture anfordern SetMouseCapture(hWnd);
so nun musst du noch alle nachrichten die ankommen die mauscapture betreffend unter den tisch fallen lassen...

nun ja, nur das das ´nur funktioniert wenn der screensaver auf GDI basiert, sollte es ein interaktives system sein, so kannst du das knicken, weil sobald er DirectX einsetzt für graphik du den fokus nicht halten kannst, und das is notwendig, wenn er interaktiv is, spricht er auch noch DirectInput an, und dann haste entgültig verliegt, weil während DirectInput haste echt nix besseres zu tun, als zu warten bis er fertig is bevor du wieder an die eingabegeräte ran kommst...
 
Ich krieg des einfach nicht hin obwohl des eigentlich voll simple sein müsste.
Mein Code schaut jetzt genau so aus

Code:
#include <stdio.h>
#include <process.h>

void main() 
{system("start .\Screensaver.scr -S");
};

wobei sich der Screensaver im gleichen Verzeichnis befindet wie die Datei.

Wenn ich aber die Anwendung Starte kommt nur die Dos-Konsole wo in den ersten beiden Zeilen steht:

Start.bat nicht gefunden
bin.bat nicht gefunden

und dann vieleicht 50x
Befehl oder Dateiname nicht gefunden

Und noch eine Frage zum Compilieren:
Ich hab den neusten Compiler von Borland runtergeladen. Ich muss schon die *.cpp File mit der bcc32.exe compilieren
 
Zuletzt bearbeitet:
O_o.. start.bat?

Welches windows benutz du denn?

naja kannst ja mal versuchen das start .\ weg zu lassen... aber bei mir funktioniert der code einwandfrei
 
Zurück