![]() |
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:
liefert leider nicht das gewünschte Ergebnis. Der Bildschirmschonder bleibt trotzdem aktiv. (WinXP)
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0);
Danke und schöne Grüße aus dem Saarland Michael |
Re: Bildschirmschoner beenden aus Delphi-Anwendung
Der Vollständigkeit halber:
Delphi-Quellcode:
Ist aber ungetestet!
begin
windows.SetCursorPos(screen.width div 2,screen.height div 2); end; |
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. |
Re: Bildschirmschoner beenden aus Delphi-Anwendung
Verwende einfach Sendmessage und WM_CLOSE bzw. WM_QUIT (wenn das Teil richtig programiert wurde). ;)
|
Re: Bildschirmschoner beenden aus Delphi-Anwendung
Zitat:
|
Re: Bildschirmschoner beenden aus Delphi-Anwendung
Das sollte sich im Vordergrund befinden, also das erste was man sieht. :mrgreen:
|
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 |
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: |
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 |
AW: Bildschirmschoner beenden aus Delphi-Anwendung
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:22 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 by Thomas Breitkreuz