Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Miseryk en 9 Abril 2014, 17:21 PM

Título: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 9 Abril 2014, 17:21 PM
Hola a todos, estoy tratando de lograr borrar un archivo en uso, alguno tiene idea de como poder lograrlo?

Gracias.
Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Mad Antrax en 9 Abril 2014, 20:04 PM
Cierra el proceso que tiene abierto el fichero y luego lo borras
Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 9 Abril 2014, 22:30 PM
Lol, en realidad quiero lograr algo parecido a lo que hace el programa Unlocker, que desbloquea el archivo sin tener que cerrar la aplicación que lo está usando y lo mejor es que desde la otra aplicación el archivo se sigue visualizando.

Ej: un excel o un doc
Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: BlackZeroX en 10 Abril 2014, 05:26 AM
Cita de: Mad Antrax en  9 Abril 2014, 20:04 PM
Cierra el proceso que tiene abierto el fichero y luego lo borras

No es necesario, lo unico que se debe hacer es obtener el handle del archivo abierto y cerrarlo...

Codigo:  http://filex.sytes.net/?dir=/BlackZeroX/Programacion/vb6/Foro.ElHacker.Net&file=UnlockFiles.rar

Dulces Lunas!¡.
Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 14 Abril 2014, 14:17 PM
Cita de: BlackZeroX (Astaroth) en 10 Abril 2014, 05:26 AM
No es necesario, lo unico que se debe hacer es obtener el handle del archivo abierto y cerrarlo...

Codigo:  http://filex.sytes.net/?dir=/BlackZeroX/Programacion/vb6/Foro.ElHacker.Net&file=UnlockFiles.rar

Dulces Lunas!¡.

Me muestra como que el sitio se encuentra en construcción, es posible?
Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 15 Abril 2014, 02:04 AM
Cita de: BlackZeroX (Astaroth) en 10 Abril 2014, 05:26 AM
No es necesario, lo unico que se debe hacer es obtener el handle del archivo abierto y cerrarlo...

Codigo:  http://filex.sytes.net/?dir=/BlackZeroX/Programacion/vb6/Foro.ElHacker.Net&file=UnlockFiles.rar

Dulces Lunas!¡.

Probé el código y explota en:

Código (vb) [Seleccionar]

Public Function GetFileFullPath(ByVal hFile As Long) As String
...
HeapFree hHeap, 0, pName
...
End Function
Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: BlackZeroX en 15 Abril 2014, 10:46 AM
Lo siento hace 24hrs que cambie todo lo de mi sitio, este es el enlace de descarga:

http://infrangelux.sytes.net/filex/?dwfe=ZmRlZGUyZjExYWIwZGU2YWJmMDRjNjc2YjdkMjg3YTc2ZDYzYTlkMg

Dulces Lunas!¡.
Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: x64core en 15 Abril 2014, 18:18 PM
@BlackZeroX:
Esta funcion luce mal:

Código (vb) [Seleccionar]
Public Function GetFileFullPath(ByVal hFile As Long) As String
    Dim hHeap As Long, dwSize As Long, objName As UNICODE_STRING, pName As Long
    Dim ntStatus As Long, i As Long, strDrives As String, strArray() As String
    Dim dwDriversSize As Long, strDrive As String, strTmp As String, strTemp As String
    On Error GoTo ErrHandle
    hHeap = GetProcessHeap
    pName = HeapAlloc(hHeap, HEAP_ZERO_MEMORY, &H1000)
    ntStatus = NtQueryObject(hFile, ObjectNameInformation, pName, &H1000, dwSize)
    If (NT_SUCCESS(ntStatus)) Then
        i = 1
        Do While (ntStatus = STATUS_INFO_LEN_MISMATCH)
            pName = HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pName, &H1000 * i)
            ntStatus = NtQueryObject(hFile, ObjectNameInformation, pName, &H1000, ByVal 0)
            i = i + 1
        Loop
    End If
    HeapFree hHeap, 0, pName
    strTemp = String(512, Chr(0))
    lstrcpyW strTemp, pName + Len(objName)



Se reseva memoria para obtener la informacion de el objeto para luego liberar la memoria? además podes llamar a NtQueryObject así:
NtQueryObject(hFile, ObjectNameInformation, 0, 0, &dwSize)  ( C++, Pasando el puntero a dwSize )
Para obtener la cantidad de bytes necesarios y luego sí reservar esa cantidad de bytes (dwSize) y luego volver a llamar a NtQueryObject
y así evitar usar esos bucles tan inseguros.

Vendria bien repulir esas funciones, bueno simplemente diciendo, supongo que hace años que han sido escritas.




Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: BlackZeroX en 15 Abril 2014, 19:31 PM
@x64Core
Por haya del 2007 y no, no es mio el src.

Dulces Lunas!¡.