Título: enviar carácteres al foco del password de inicio de sesion de windows Publicado por: darnali en 6 Abril 2010, 11:22 am Hola a todos
Tengo un problema que hace dias me quita el sueño Estoy programando en .NET con el Framework 2.0 y tengo un programa que lee del puerto de comunicaciones y escribe en el puerto de teclado, una cosa asi mas o menos: Private Sub Port1_DataReceived(ByVal sender As System.Object, ByVal e As_ System.IO.Ports.SerialDataReceivedEventArgs) Handles port1.DataReceived Try bytes_a_llegir = port1.BytesToRead port1.Read(buffer, 0, bytes_a_llegir) For k = 0 To bytes_a_llegir - 1 paquet_rx = paquet_rx & Chr(buffer(k)) Next llargada = Len(paquet_rx) 'len actual rebuda If llargada > 1 Then llargada_real = 34 If llargada = llargada_real Then For xx = 1 To Len(paquet_rx) rx(xx) = Asc(Mid(paquet_rx, xx, 1)) paquet_ascii_rx = paquet_ascii_rx & Chr(rx(xx)) Next enviar_teclado(paquet_ascii_rx) paquet_rx = "" paquet_ascii_rx = "" End If End If Catch ex As Exception MsgBox(ex.ToString) End Try End Sub Public Sub enviar_teclado(Byval paquet_enter As String) Try SendKeys.SendWait(paquet_enter + Chr(7) + Chr(13)) Catch ex As Exception End Try llargada = 0 End Sub En principio es una aplicacion senzilla, lo he programado como un servicio de windows que se inicia automaticamente con una cuenta de "localsystem" y que interactua con el escritorio para no tener que abrir ninguna interficie grafica y que cuando lleguan datos por el puerto de comunicaciones salta el evento de recepcion del SerialData y lo envia con el Sendkeys al "textbox" activo en cada momento, el problema viene cuando cierro sesion de windows con el usuario por ejemplo administrador y quiero escribir con este proceso al "textbox" donde pondria el password del usuario de windows, ahí el programa no funciona, no escribe nada en ese "textbox", teniendo en cuenta que el servicio sigue en marxa, pero lo he estado depurando y me doy cuenta de que el comando sendkeys no funciona correctamente en el entorno de winlogon, es decir cuando estoy en el escritorio default (el de toda la vida) funciona sin problemas, pero cuando estoy en el otro "escritorio" o dicho de otra manera, cuando estoy en el lugar de poner el usuario i contrasenya, no va, simplemente no funciona. He estado mirando alterntivas y con api's de VB tampoco funciona Alguien sabe porque no puedo escribir con el comando sendkeys en el "textbox" de inicio de sesion de windows? Hay alguna alternativa al comando sendKeys, que no sean api's claro esta! Saludos y perdon por el toston! Att. Darnali Título: Re: enviar carácteres al foco del password de inicio de sesion de windows Publicado por: [D4N93R] en 7 Abril 2010, 16:38 pm Qué nos la pusiste difícil.. xD
Aún estoy tratando de resolverlo.. Pero si tiene que haber forma ya que hay varios softwares de reconocimiento facial que escriben tu password en el logon.. entonces si ellos lo hacen, por qué nosotros no? xD Título: Re: enviar carácteres al foco del password de inicio de sesion de windows Publicado por: darnali en 7 Abril 2010, 17:05 pm jeje, si esta dificil la verdad, y tambien tienes razon en que se tiene que poder hacer de algun modo!!, pero me he estado devanando los sesos en el problema y no conseguí sacar nada en claro, solo que el sendkeys no funciona como con el escritorio... no tiene que ser simple del todo, supongo porque sino lo hubiese sacado, supongo tambien XD
Muchas gracias por responder!! yo continuare investigando si lo saco lo posteo, pero no se yo... XD Título: Re: enviar carácteres al foco del password de inicio de sesion de windows Publicado por: [D4N93R] en 9 Abril 2010, 20:38 pm Yo creo que no funciona el SendKeys por cuestiones de seguridad. Así que posiblemente sea alguna API especial..
Título: Re: enviar carácteres al foco del password de inicio de sesion de windows Publicado por: darnali en 12 Abril 2010, 09:44 am bueno, seguramente... pero no se cual... :(, voy a buscar a ver que encuentro, pero lo veo crudo...
|