Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bildschirmschoner beenden aus Delphi-Anwendung (https://www.delphipraxis.net/109526-bildschirmschoner-beenden-aus-delphi-anwendung.html)

grips-net 3. Mär 2008 07:30


Bildschirmschoner beenden aus Delphi-Anwendung
 
Hallo!

Ich nutze bei einer von mir erstellten Software als Benutzer-Authentifizierung einen Smartcard-Reader. Einige User haben nun einen Bildschrimschoner installiert. Daher kommt es zu dem Problem, dass dieser beim Einlegen der Karte nicht automatisch beendet wird und die veränderte Anzeige der Software nicht direkt sichtbar ist. (wie) Kann ich in meinem Ereignis "Karte eingelegt" den Bildschirmschoner zwangs-beenden?

...und bevor mir jemand die Such-Funktion erklärt:
Delphi-Quellcode:
  SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0);
liefert leider nicht das gewünschte Ergebnis. Der Bildschirmschonder bleibt trotzdem aktiv. (WinXP)


Danke und schöne Grüße aus dem Saarland


Michael

MisterNiceGuy 27. Jan 2009 11:09

Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
Der Vollständigkeit halber:

Delphi-Quellcode:
begin
  windows.SetCursorPos(screen.width div 2,screen.height div 2);
end;
Ist aber ungetestet!

himitsu 27. Jan 2009 11:21

Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
Der Bildschirmschoner entscheidet doch selber auf was er, zum Beenden, reagiert.

Meißt ist das die Bewegung des Mauszeigers, oder ein Tastendruck.



Per SendKey und Co. könnte man dann auch etwas erreichen.

turboPASCAL 27. Jan 2009 12:18

Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
Verwende einfach Sendmessage und WM_CLOSE bzw. WM_QUIT (wenn das Teil richtig programiert wurde). ;)

himitsu 27. Jan 2009 12:22

Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
Zitat:

Zitat von turboPASCAL
Verwende einfach Sendmessage und WM_CLOSE bzw. WM_QUIT (wenn das Teil richtig programiert wurde). ;)

Dafür muß man aber erstmal irgendwie den Bildschirmschoner finden (bzw. dessen Fenster) um dem was zu senden.

turboPASCAL 27. Jan 2009 12:27

Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
Das sollte sich im Vordergrund befinden, also das erste was man sieht. :mrgreen:

himitsu 27. Jan 2009 12:37

Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
nöö, bei mir ist auch mal was anderes im Vordergrund ... z.B. das Statusfenster vom Defragmentierer :oops:

aber egal, ich hab eh keinen Bildschirmschoner installiert

turboPASCAL 27. Jan 2009 23:01

Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
Ich auch nicht.

Gab's da nicht eine API Message wenn so ein Teil started bzw irgend etwas in dieser Richtung ? :gruebel:

Schwedenbitter 11. Sep 2010 08:34

AW: Re: Bildschirmschoner beenden aus Delphi-Anwendung
 
Hallo,

falls Ihr eine Lösung habt, könntet Ihr diese bitte mal posten?

Ich habe folgendes Problem: Ich administriere mehrere PC. So werfe ich z.B. des öfteren einen Defragmentierer an und gehe zum nächsten Rechner. Auf allen Rechnern laufen Bildschirmschoner und mein in Delphi geschriebenes Programm. Ich kann mir dann von meiner Server Application aus jeweils Screenshots holen. Wenn ich sehe, dass z.B. Defrag fertig ist, kann ich dann den Rechner über mein Programm auch runterfahren.
Wenn aber der Bildschirmschoner aktiv ist, bekomme ich nur ein Bild von diesem und nicht vom Desktop. Ich sehe also nicht, ob das gestartete Programm fertig ist :( Hierzu muss/will ich den Bildschirmschoner ausschalten; notfalls auch nur kurz.

Um (Vor)Urteile auszuräumen: Ich spioniere niemanden aus. Wenn das so wäre, hätte ich kein Problem mit dem Bildschirmschoner. Denn der wäre nicht aktiv, wenn ein Benutzer davor säße und am PC arbeitete. Und ich vertraue auch nicht der Fernwartung von MS.

Mich interessiert daher stark, wie das nun wirklich geht mit dem deaktivieren des Bildschirmschoners.

Alternativ würde mir auch eine Lösung helfen, die mir das Bild hinter dem Schoner (also den Desktop) liefert ...
[edit]
Achso: Probiert habe ich bereits die Vorschläge von grips-net im ersten und von MisterNiceGuy im zweiten Post. Von SendMessage habe ich aus den genannten Gründe abgesehen. Meistens geht es bei mir gerade um den Defragmentierer. Den würde ich nur ungern abschießen!
[/edit]

Gruß & Danke, Alex

turboPASCAL 11. Sep 2010 09:06

AW: Bildschirmschoner beenden aus Delphi-Anwendung
 
Moin,

ggf. hilft dir das: Bildschirmschoner unterdrücken


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.
Seite 1 von 3  1 23      

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