VB-Homepage Tipp 227

Screensaver läuft API

Klingt schon etwas merkwürdig und richtig, es gibt keine gleichlautende API aber eine die dem System mitteilt, daß der Screensaver aktiv sei und das eben auch, wenn gar keiner läuft.
Das hat zur Folge, das sowohl die Tastenkombination Strg-Alt-Entf als auch Strg-Esc und Alt-Tab nicht mehr greifen und dies kann ja sehr wohl gewünscht sein, für eines Ihrer Projekte.

Aber Achtung, das geht nur unter W95/98 .

1. Für einen Test benötigen Sie ein neues Projekt mit einer Form und zwei Commandbutton.
Command1.Caption = AKTIVIEREN / Command2.Caption = DEAKTIVIEREN

2. Unter Allgemein/Deklarationen geben Sie folgende API-Funktion ein
Private Const SPI_SCREENSAVERRUNNING = 97
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long

3. Command1_Click
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, ByVal 1&, False)

4. Command2_Click
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, ByVal 1&, False)

... außerdem sollten Sie zur Sicherheit die selbe Anweisung auch unter FORM_UNLOAD eintragen, damit die Sperre nicht beim Beenden des Programms aktiv bleibt.

5. Starten Sie über F5 Ihr Projekt und testen Sie zuerst einmal die Tastenkombinationen durch.
AKTIVIEREN Sie dann die Funktion und testen Sie erneut die Tastenkombis,
Sie werden sehen, nichts geht mehr.

Tipp-Download

Quelle : VBOnline / http://www.vbonline.com/vb-mag

Zurück zur Übersichtsseite