Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - chacKos

#21
Hola, estoy con una aplicación, a ver, me explico, cada 5 minutos estoy intentando enviar un archivo que es modificado, entonces probando me daba error, y lo que hago es:
- Creo un archivo (la primera vez, luego le añado texto)
- A los 5 minutos hago una copia de éste
- Envío por email la copia
- Borro la copia
- Y así sucesivamente

La cosa es que al intentar hacer el segundo envio, al intentar hacer la copia dice que el archivo ya existe (File.Copy), es como si se quedara "trabado" al hacer New Attachment(archivoCopia) para enviarlo. No se que pasa!

La cosa es, ¿cómo puedo hacer para enviar un archivo por email cada 5 minutos, por ejemplo, que es modicado constantemente?
#22
Bueno ya lo he conseguido. Queda de esta forma:


Dim file As String
file= file.PadLeft(LOF(1))
#23
Que va sigo sin entenderlo, no veo como abrirlo en binario ni como agregarle LOF(1)
#24
Sigo sin entenderlo, a ver yo tengo un fichero,

FileOpen(1, Application.StartupPath & "\file.exe", OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
file= Space(LOF(1))
FileGet(1, file)
FileClose(1)

Cómo sería el código en vb.net?
#25
Eso no me lo reconoce!
#26
Hola! Estoy en una aplicación en la que he puesto esta línea, Imports System.Windows.Forms.Keys, ya que necesito trabajar con las teclas, y en el código necesito utilizar Space(LOF(1)) para trabajar con ficheros. El problema es el siguiente, al tener hecho el Imports, el Space lo toma como si fuera una tecla, pero yo quiero utilizar la función de Space(LOF(1)) sin que me afecte lo otro. Cómo se puede solucionar?

Gracias.
#27
La cosa es que al usar una dll como lo hago yo queda junto con el .exe, y si dicha dll no está en el mismo directorio pues no funciona, la cosa es como hacer para que esté dentro del .exe! No sé supongo que habrá alguna forma de comprimir/empaquetar los archivos de un directorio en uno solo!
#28
No sé si la duda que yo tengo es la misma que esto. Estoy creando una aplicación en la que relleno los datos en un form, y necesito generar un .exe con esa configuración. Por ejemplo, un keylogger en el que configuro una cuenta de correo para enviar las pulsaciones de teclas, como puedo hacer esto?

Lo escribo aquí para no abrir otro tema sobre lo mismo
#29
Ok, gracias, se me ocurrió tal vez con alguna dll del winrar o algo pero no se sí se podrá!

Estoy probando con la dll ionic.utils.zip.dll, funciona bien pero el problema es que el ejecutable tiene que estar en el mismo directorio que la dll, como puedo hacer para que la dll esté dentro del proyecto?
#30
.NET (C#, VB.NET, ASP) / Comprimir carpeta?
6 Marzo 2010, 14:55 PM
Hola, estoy intentando comprimir una carpeta. He mirado el código de msdn:
Module Module1
    Sub Main()
        ' Path to directory of files to compress.
        Dim dirpath As String = "c:\carpeta\"

        Dim di As DirectoryInfo = New DirectoryInfo(dirpath)


        ' Compress the directory's files.
        For Each fi As FileInfo In di.GetFiles()
            Compress(fi)
        Next

        ' Decompress all *.gz files in the directory.
        ' For Each fi As FileInfo In di.GetFiles("*.gz")
        'Decompress(fi)
        'Next

    End Sub

    ' Method to compress.
    Private Sub Compress(ByVal fi As FileInfo)
        ' Get the stream of the source file.
        Using inFile As FileStream = fi.OpenRead()
            ' Compressing:
            ' Prevent compressing hidden and already compressed files.

            If (File.GetAttributes(fi.FullName) And FileAttributes.Hidden) _
                <> FileAttributes.Hidden And fi.Extension <> ".gz" Then
                ' Create the compressed file.
                Using outFile As FileStream = File.Create(fi.FullName + ".gz")
                    Using Compress As GZipStream = New GZipStream(outFile, CompressionMode.Compress)
                        ' Copy the source file into the compression stream.
                        Dim buffer As Byte() = New Byte(4096) {}
                        Dim numRead As Integer
                        numRead = inFile.Read(buffer, 0, buffer.Length)
                        Do While numRead <> 0
                            Compress.Write(buffer, 0, numRead)
                            numRead = inFile.Read(buffer, 0, buffer.Length)
                        Loop

                        Console.WriteLine("Compressed {0} from {1} to {2} bytes.", _
                                          fi.Name, fi.Length.ToString(), outFile.Length.ToString())

                    End Using
                End Using
            End If
        End Using
    End Sub
    ' Method to decompress.
    Private Sub Decompress(ByVal fi As FileInfo)
        ' Get the stream of the source file.
        Using inFile As FileStream = fi.OpenRead()
            ' Get orignial file extension, for example "doc" from report.doc.gz.
            Dim curFile As String = fi.FullName
            Dim origName = curFile.Remove(curFile.Length - fi.Extension.Length)

            ' Create the decompressed file.
            Using outFile As FileStream = File.Create(origName)
                Using Decompress As GZipStream = New GZipStream(inFile, CompressionMode.Decompress)
                    ' Copy the compressed file into the decompression stream.
                    Dim buffer As Byte() = New Byte(4096) {}
                    Dim numRead As Integer
                    numRead = Decompress.Read(buffer, 0, buffer.Length)
                    Do While numRead <> 0
                        outFile.Write(buffer, 0, numRead)
                        numRead = Decompress.Read(buffer, 0, buffer.Length)
                    Loop
                    Console.WriteLine("Decompressed: {0}", fi.Name)

                End Using
            End Using
        End Using
    End Sub
End Module

Pero no se me ocurre como puedo para solo comprimir una carpeta, ya que este código comprime cada fichero de dentro del directorio por separado!