none
Cómo bloquear el escritorio? RRS feed

  • Pregunta

  • Hola Comunidad !!!

    En mi trabajo empleamos un sistema que al ejecutarlo bloquea el escritorio y no se pude hacer nada en él, es decir, no se pueden ejecutar los accesos directos, ni tampoco funciona el botón inicio, y todo esta enblanquecido, como nublado, como con niebla. Cuando hago clic en alguna parte del escritorio solo se oye un pequeño sonido, como el que genera una botella de plástico vacia al golpearla contra algo.

    Yo estoy desarrollando un sistema en VB 6.0 con Win XP SP2 y me gustaria implementarle esa funcionalidad de bloquear el escritorio. Cómo podría hacer eso?

    De antemano, muchas gracias.
    martes, 8 de julio de 2008 16:04

Respuestas

Todas las respuestas

  • :-)

    Hola,

    Puedes usar el API LockWorkStation:

     

    Option Explicit

     

    Private Declare Function LockWorkStation Lib "user32.dll" () As Long

     

    Private Sub Command1_Click()

        LockWorkStation

    End Sub

     

    Saludos,

    miércoles, 9 de julio de 2008 9:47
    Moderador
  • Gracias por tu respuesta, pero no es lo que quiero.

    Yo deseo que se bloquie el escritorio, pero al mismo tiempo en un formulario pedir la contraseña y hasta que se ingresa la contraseña correcta se desbloquie y se pueda continuar trabajando, pero sin salir de la sesion actual como hace esa API que me mencionas. Gracias de todos modos.
    miércoles, 9 de julio de 2008 17:02
  • :-)

    Hola,

     

    Uhm... pues no te entiendo. Vamos por partes:

     

    > Yo deseo que se bloquie el escritorio

     

    Pues eso es lo que hace esta API. Utiliza la funcionalidad de bloquear la estación propia del S.O.

    Y para muestra un botón:

     

     

    > pero al mismo tiempo en un formulario pedir la contraseña y hasta que se ingresa la contraseña correcta se desbloquie y se pueda continuar trabajando

     

    Precisamente es lo que te pide el cuadro de diálogo, que te vuelvas a autenticar con tu usuario y password de Windows, si no, no puedes seguir trabajando. Y aquí tienes otra muestra:

     

     

    > pero sin salir de la sesion actual como hace esa API que me mencionas.

     

    ¿Salir sesión? Esto...¿dónde has visto que se cierre la sesión?

    Esta función BLOQUEA la estación, NO CIERRA la sesión en ningún momento...

     

    ¿Algún repro? ¿Alguien más puede probarlo y nos cuenta?

    Saludos,

    jueves, 10 de julio de 2008 7:32
    Moderador
  • Hola a todos, creo que Josp se refiere a dejar el escritorio como una imagen fija que no puedas tocar los iconos y demás, pero no cerrar la sesión o bloquearla. Creo que sería un poco como en los cybers.

     

    Saludos.

    Francisco J.

     

    jueves, 10 de julio de 2008 9:28
  • Es exactamente como dice FrankGT, trato de programar una aplicación que me deje el escritorio como una imagen fija, sin que se pueda hacer nada en ella y con un formulario al centro de la pantalla pidiendome la contraseña para desbloquearla.
    Y cuando se desbloquea inmediatamente me haga ciertas acciones que necesito que haga.

    Esa es la idea que yo tengo, estoy tratando de averiguar cómo puedo hacer eso. Gracias de todos modos.
    jueves, 10 de julio de 2008 14:58
  • Hola Josp, revisa este enlace de Codeproject a ver qué te parece, y si te sirve y ya nos cuentas.

     

    http://www.codeproject.com/KB/winsdk/AntonioWinLock.aspx

     

    Saludos.

    Francisco J.

     

    jueves, 10 de julio de 2008 17:18