Windows NT - Ctr-Alt-Del

 
Vista:

Ctr-Alt-Del

Publicado por maria (3 intervenciones) el 30/03/2001 12:43:38
me gustaria saber si se puede y como bloquear la estacion de trabajo desde un programa VisualBasic
. Muchas gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ctr-Alt-Del

Publicado por Javier Ruiz (814 intervenciones) el 30/03/2001 17:38:51
Creo que en Windows NT 4.0 es imposible hacerlo, en Windows 2000 ya hay una api llamada LockWorkStation que puedes invocar.
Pero si tienes NT 4.0 puedes intentar usar un truco.
Configura en el equipo que quieres que se bloquee automáticamente un salvapantallas y protégelo con contraseña.
Añade en un módulo la función api SendMessage y las constantes WM_SYSCOMMAND, SC_SCREENSAVE y HWND_TOPMOST.
Y luego te creas un sub main que llame a la función: Call SendMessage(HWND_TOPMOST, WM_SYSCOMMAND, SC_SCREENSAVE, 0)
Creas el exe, y cada vez que se ejecute lanzará el salvapantallas sin tener que esperar al tiempo que establezcas para que salte, y al estar protegido por contraseña pues se queda la estación bloqueada.
Es una solución un poco cutre, pero no se me ocurre ninguna otra.

Un saludo,
Javier Ruiz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ctr-Alt-Del

Publicado por maria (3 intervenciones) el 30/03/2001 23:48:31
Hola Javier, lo intento pero me da errores, te agradeceria si pudieras detallarme un poco mas como es el codigo. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ctr-Alt-Del

Publicado por Javier Ruiz (814 intervenciones) el 02/04/2001 10:23:29
Aquí te va el código con el que yo lo hice.

Un saludo,
Javier Ruiz.

Public Const WM_SYSCOMMAND = &H112
Public Const SC_SCREENSAVE = &HF140&
Public Const HWND_TOPMOST = -1

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Sub main()
Call SendMessage(HWND_TOPMOST, WM_SYSCOMMAND, SC_SCREENSAVE, 0)
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar