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 |