Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Abschaltung Bildschirmschoner unter Windows 2000 (https://www.delphipraxis.net/32923-abschaltung-bildschirmschoner-unter-windows-2000-a.html)

D.BraunSoft 29. Okt 2004 16:31


Abschaltung Bildschirmschoner unter Windows 2000
 
[cl][dp]Hallo User brauche mal wieder Hilfe!
Wie kann ich den laufenden Bildschirmschoner abschalten?
Unter NT4 hat alles noch funktioniert.
Zur Erklärung, ich habe ein Leitstellenprogramm geschrieben was seit 2001 rund um die Uhr läuft.
Jetzt wurden die Rechner auf Windows 2000 umgestellt, bei eingehenden Alarmen geht der Schoner nicht mehr aus.
Habe schon überall gesucht.
Zur Zeit nehme ich setcursorpos(....)geht auch.


Danke an euch.

Luckie 29. Okt 2004 16:52

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Zitat:

Zitat von D.BraunSoft
Habe schon überall gesucht.

Aber wohl nur nicht in der DP: http://www.delphipraxis.net/internal...er+ausschalten :roll:

DP-Maintenance 29. Okt 2004 16:55

DP-Maintenance
 
Dieses Thema wurde von "MrSpock" von "Datenbanken" nach "Windows API" verschoben.
Bildschirmschoner haben nicht wirklich etwas mit Datenbanken zu tun :mrgreen:.

Sprint 29. Okt 2004 17:29

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Zitat:

Zitat von D.BraunSoft
Wie kann ich den laufenden Bildschirmschoner abschalten?

Im MS Platform SDK habe ich unter SystemParametersInfo die Parameter SPI_GETBLOCKSENDINPUTREQUESTS und SPI_SETBLOCKSENDINPUTREQUESTS mal gesehen. Kannst dir das ja mal durchlesen. Vielleicht hilft dir das weiter.

D.BraunSoft 29. Okt 2004 17:31

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Hallo, aber wir haben uns nicht verstanden!
Ich möchte nicht Bidschirmschoner installieren- und deinsallieren sondern einen aktiven Bildschirmschoner beenden unter Win2000!
Trotzdem Danke.

Alienhere 29. Okt 2004 19:18

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Such doch mal unter http://msdn.microsoft.com nach "SystemParametersInfo screensaver".

Unter: msdn.microsoft.com stehen ein paar Sachen dazu (aber ziemlich weit unten auf der Seite).

HTH.

Diese Funktionen hat aber sicher schon mal jemand mit Delphi gekapselt.

Such doch auch mal auf TDP oder der DSP.

EDIT:
TDP:=http://www.torry.net/
DSP:=http://delphi.icm.edu.pl/

MathiasSimmack 29. Okt 2004 19:18

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Nicht gleich aufgeben. Mit dem schon erwähnten Befehl "SystemParametersInfo" kannst du den aktiven Bildschirmschoner stoppen/anhalten/abschalten. Genau das macht ja auch das kleine Programm, das du über den Umweg (s. Luckies Link) findest. ;)

Alienhere 29. Okt 2004 19:27

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Zitat:

Zitat von MathiasSimmack
Nicht gleich aufgeben. Mit dem schon erwähnten Befehl "SystemParametersInfo" kannst du den aktiven Bildschirmschoner stoppen/anhalten/abschalten. Genau das macht ja auch das kleine Programm, das du über den Umweg (s. Luckies Link) findest. ;)

Mist, war zu spät für Matthias :mrgreen:

D.BraunSoft 29. Okt 2004 20:40

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Bei mir wird nur der Schoner deinstalliert.
Hat es jemand schon versucht, denn mein Schoner läuft weiter?
Im Menu gibt es auch nur Schoner AUS/STARTEN/AUSWAHL ÖFFNEN.

MathiasSimmack 30. Okt 2004 08:15

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Zitat:

Zitat von D.BraunSoft
Hat es jemand schon versucht, denn mein Schoner läuft weiter?

Ja, ich hab´s versucht. Zwar nicht unter 2000, aber unter XP. Und mein Bildschirmschoner wird deaktiviert. Solange, bis ich ihn wieder aktiviere.

Zitat:

Im Menu gibt es auch nur Schoner AUS/STARTEN/AUSWAHL ÖFFNEN.
Was wird der Menüpunkt "Aus" wohl machen? Richtig: Er schaltet den Bildschirmschoner aus. Dann ändert sich der Menüpunkt in "An". Und was könnte das bedeuten? :mrgreen:

D.BraunSoft 31. Okt 2004 06:28

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Danke für die Belehrung, aber wie kanst du es getestet haben?
Wenn du die Maus zum Menu bewegst, ist der Bildschirmschoner durch die Mausbewegung schon aus.
Aber du hast sicher eine Lösung gefunden.

Danke schon jetzt.

MathiasSimmack 31. Okt 2004 07:25

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Irgendwie verstehe ich dich nicht. Der Menüpunkt "Aus" schaltet den Bildschirmschoner ab, ohne ihn zu deinstallieren. Ich habe die Zeit auf 1 Minute gestellt (damit´s nicht so lange dauert) und abgewartet. Es tat sich nichts. Folglich habe ich mit dem kleinen Programm den Bildschirmschoner wieder aktiviert (Menüpunkt "An"), und siehe da: Pünktlich nach einer Minute ging der Schoner los.

Es ist doch wohl logisch, dass sich der Schoner beendet, wenn du irgendwas am Rechner machst. Sprich: Maus bewegen, Taste drücken, usw.

Wenn du ihn komplett abschalten willst, dann geh in den Windows-Dialog, den du über den Menüpunkt "Auswahl" erreichst und deaktiviere ihn dort. Dann ist er komplett fort. Das kannst du mit dem Programm Speedy nicht machen, weil ich mir damals dachte: Warum soll ich mir dafür irgendwelche Funktionen ausdenken, wenn ich auch einfach den in Windows eingebauten Dialog benutzen kann?

Jetzt erklär du, was eigentlich dein Problem ist. :gruebel:

D.BraunSoft 31. Okt 2004 08:07

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Ich habe mich nicht richtig ausgedrückt deinstalieren meine ich wählen zwischen kein Schoner und z.B. 3D-Objekte . Ich erkläre es noch mal.
Das Leitstelleprogramm läuft Tag und Nacht somit geht irgendwan der Schoner rein.
Jetzt läuft ein Alarm ein was den Schoner stoppt soll( unter NT4 ging noch alles ), daß aktuelle Programm mit Alarmbild zur Anzeige bringt und der Bediener Maßnahmen einleiten kann. Das bedeutet, Stopp des Schoners ohne Mausbewegung oder Tastatur.

Starten geht so:

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
end;
aber Stoppen ?????????????

Wenn wir uns wieder nicht verstehen schicke einfach die Codeschnipsel die bei dir funktionieren.
Danke Dirk

jfheins 31. Okt 2004 08:15

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Ist zwar jetzt etwas unsauber, aber der Bilschirschoner ist ja eine eigene Anwendung, du müsstest somit nur den Prozess abschießen, und schon isser weg :mrgreen:

Btw:
Du könntest dir doch auch merken, welcher Bildschirmschoner ausgewählt ist, ihn dann deaktivieren (kein) und nach Abschluss wieder Aktivieren ...

D.BraunSoft 31. Okt 2004 15:37

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Da hast du zwar recht doch das ist nicht die Lösung für mich.

Ich werde wohl bei " setcursorpos(....) " bleiben das so schon OK.

Danke allen für die Bemühung.

Tempel 13. Dez 2004 19:43

Re: Abschaltung Bildschirmschoner unter Windows 2000
 
Zitat:

Zitat von D.BraunSoft

Starten geht so:

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
end;
aber Stoppen ?????????????

Wenn ich das richtig verstanden habe, soll dein Programm den Bildschirmschoner beenden (wie der Benutzer mit der Maus), wenn bei deinnem Programm ein bestimmtes Ereignis auftritt.
Ich hab es nicht ausprobiert, aber warum simulierst du dann nicht mit mouse_event eine Mausbewegung? Das sollte doch eigentlich den Screensaver eigentlich beenden.

Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz