¿Hay alguna manera, sin usar inyección DLL, servicios y demás, para desbloquear la computadora local usando .net? El nombre de usuario y la contraseña de Windows están disponibles para mi programa.Desbloquee la computadora local usando .net
Respuesta
Creo que no hay una función .NET que pueda usar para desbloquear su computadora y no hay una forma breve de lograrlo. Pero, hay una manera.
Debe implementar su componente personalizado ICredentialProvider, engancharlo en el mecanismo de autenticación de Windows e implementar la comunicación entre este y su aplicación.
El mecanismo de autenticación de Windows 7 consta de dos partes. Ellos son WinLogon y LogonUI. LogonUI es responsable de mostrar una ventana de inicio de sesión y una notificación de WinLogon sobre las acciones de los usuarios. Winlogon reacciona ante los eventos de LogonUI y realiza las acciones necesarias para iniciar sesión en los usuarios, desconectar usuarios, bloquear sesiones y desbloquear sesiones.
Microsoft proporciona un mecanismo para enganchar un comportamiento personalizado en LogonUI. Para hacer esto, necesita crear un objeto COM que implemente ICredentialProvider y registrarlo en un sistema. Su componente puede decirle a LogonUI que le indique a WinLogon que desbloquee una sesión.
Estos son algunos ejemplos par de cómo construir los proveedores de encargo de credenciales: How to Build Custom Logon UI’s in Windows Vista, Create Custom Login Experiences With Credential Providers For Windows Vista
Este mecanismo funcionará para Windows Vista y Windows 7. Es necesario utilizar un mecanismo similar denominado GINA si se quiere lograr el mismo resultado para Windows XP. Aquí puede leer más sobre GINA: Winlogon and GINA
Hubo un truco que se podía "desbloquear" una sesión en Windows XP.
WinLogon en Windows XP creó un escritorio adicional y lo conectó cuando el usuario eligió bloquear una sesión. Fue posible volver a un escritorio "normal" usando la API de Windows. Todo funcionó bien, excepto WinLogon, aunque el sistema está bloqueado y no reaccionó para Ctrl-Alt-Del. Creo que no funcionará para Windows Vista y 7. Pero podría intentarlo. Puede ser simple que implementar un proveedor de credenciales personalizado.
Aquí es un ejemplo de cómo hacerlo: Remotely Unlock a Windows Workstation
espero que esto respondió a su pregunta.
Sí, aquí hay información adicional que podría ayudar http://stackoverflow.com/a/35173886/1895684 –
No, no, al menos no dentro del contexto especificado en su pregunta. Pero tengo que preguntar: ¿por qué quieres desbloquearlo? Si necesita una aplicación para ejecutar, la máquina no tiene que estar desbloqueada para que eso suceda.
Estoy tratando de usar mi teléfono y Bluetooth para bloquear la pantalla cuando me alejo, y la desbloqueo cuando regrese. – Soumya
Usando una conexión BlueTooth que se cae/restablece para (des) bloquear un sistema. Suena seguro ... –
- 1. Emulando Heroku en la computadora local
- 2. Obtener el nombre de la computadora local a través de la sesión Citrix en .NET
- 3. ¿Cómo identificar de manera única la computadora usando C#?
- 4. ¿Cómo puedo obtener el nombre de la computadora y la dirección IP de la computadora local?
- 5. ¿Cómo obtengo la dirección IP de la red local de una computadora mediante programación? (C#)
- 6. ¿Utiliza Javascript el tiempo de la computadora local?
- 7. ¿Cómo encontrar si la computadora local está en un dominio?
- 8. Transferir datos grandes entre aplicaciones .net en la misma computadora
- 9. Mensajería en la red local con .NET
- 10. cambiar el nombre de la computadora mediante programación C# .net
- 11. Ruta UNC a una carpeta en mi computadora local
- 12. ¿Es posible ejecutar archivos .php en mi computadora local?
- 13. Prueba de un script PHP en una computadora local
- 14. ¿Puede Silverlight cambiar un archivo en la computadora de un usuario local?
- 15. ¿Cómo presionar un repositorio local de Git a otra computadora?
- 16. ¿Cómo apago la computadora?
- 17. (¿Cómo puede un dispositivo virtual de Android utilizar la conexión a Internet de la computadora local?
- 18. global.asax funciona en la computadora local pero no después de que publico en el servidor
- 19. ¿Cómo puedo saber cuánta energía está usando mi computadora?
- 20. ¿Es posible encontrar la computadora local en AD sin hardcoding de su dominio?
- 21. Usando la ruta local con WebView (Webkit)
- 22. Copie archivos de la computadora local de linux a la instancia de amazon aws linux
- 23. ¿Cómo puedo agregar una computadora a un dominio mediante programación (usando .NET)?
- 24. Obtener la dirección IP de la computadora en un proyecto de Android usando Java
- 25. Cómo resolver el nombre de host de la IP local en C# .NET?
- 26. ¿Cómo puedo explorar mi servidor local Tomcat desde otra computadora en la red?
- 27. Acceso al servidor GAE SDK local desde otra computadora en la red
- 28. Windows no pudo iniciar el servicio SQL Server (SQLEXPRESS) en la computadora local. Error 1053
- 29. Acceso a webrick/rails desde otra computadora en la red local
- 30. No se incluyen servicios cuando SQL Server Express 2008 R2 está instalado en la computadora local
Como VNC puede hacerlo, esperaría que después de ver las fuentes de VNC pueda imitar su comportamiento con algunas llamadas pinvoke. –