|
|
Title | Lock the computer so the user cannot use other programs |
Description | This example shows how to lock the computer so the user cannot use other programs in Visual Basic 6. It uses the SystemParametersInfo API function to tell the system a screen saver is running. That disables Alt-Tab and Ctl-Alt-Del. |
Keywords | lock computer, screen saver |
Categories | Windows, Miscellany |
|
|
The program uses SetWindowPos to make its form topmost and position it over the entire screen including the task bar. It then uses the SystemParametersInfo API function to tell the system a screen saver is running. That disables Alt-Tab and Ctl-Alt-Del.
|
|
Private Sub cmdLockWorkstation_Click()
Dim prev_value As Long
Dim wid As Long
Dim hgt As Long
cmdLockWorkstation.Enabled = False
cmdUnlockWorkstation.Enabled = True
cmdExit.Enabled = False
' Save the current size and position.
m_LastLeft = Left
m_LastTop = Top
m_LastWidth = Width
m_LastHeight = Height
' Put the form on top of everything including
' the task bar.
wid = Screen.Width / Screen.TwipsPerPixelX
hgt = Screen.Height / Screen.TwipsPerPixelY
SetWindowPos hwnd, HWND_TOPMOST, 0, 0, wid, hgt, 0
' Tell the system a screen saver is running.
SystemParametersInfo SPI_SCREENSAVERRUNNING, True, _
prev_value, 0
End Sub
|
|
To unlock the workstation, the program uses SystemParametersInfo to tell the system that no screen saver is running.
|
|
Private Sub cmdUnlockWorkstation_Click()
Dim prev_value As Long
cmdLockWorkstation.Enabled = True
cmdUnlockWorkstation.Enabled = False
cmdExit.Enabled = True
' Restore the size and position.
Move m_LastLeft, m_LastTop, m_LastWidth, m_LastHeight
' Tell the system no screen saver is running.
SystemParametersInfo SPI_SCREENSAVERRUNNING, False, _
prev_value, 0
End Sub
|
|
This program may not work on all operating systems.
|
|
|
|
|
|