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: demoniox12 en 21 Mayo 2009, 06:06 AM

Título: Detectar la extension del archivo?
Publicado por: demoniox12 en 21 Mayo 2009, 06:06 AM
Buenas...

Como pordria hacer para detectar la extension de su mismo archivo?

La ruta es App.Path... el nombre es App.EXEName .. pero necesito saber la extension.. ya que podria cambiarlo a .com .pif o .scr y no seria .exe.. por eso no lo dejaria estatico digamos..

Saludos!
Título: Re: Detectar la extension del archivo?
Publicado por: Novlucker en 21 Mayo 2009, 06:16 AM
Código (vb) [Seleccionar]
Msgbox Right(App.EXEName,3)

Saludos
Título: Re: Detectar la extension del archivo?
Publicado por: demoniox12 en 21 Mayo 2009, 06:19 AM
Cita de: Novlucker en 21 Mayo 2009, 06:16 AM
Código (vb) [Seleccionar]
Msgbox Right(App.EXEName,3)

Saludos

Eso tira los ultimos 3 caracteres del NOMBRE del archivo.. no se le incluye la extension al comando App.EXEName...

Saludos!
Título: Re: Detectar la extension del archivo?
Publicado por: Novlucker en 21 Mayo 2009, 06:53 AM
Auch! Tienes razón, olvidé que en el caso de VB el nombre de ejecutable no contiene la extensión  :-X

Entonces ... listar procesos y comparar path, EXEname contra ruta de procesos en ejecucion
Listar archivos en el mismo directorio y comparar contra path, EXEname
Verificar por medio de un array que contenga todas las extensiones, si el archivo existe con cada una de ellas  :P

Saludos
Título: Re: Detectar la extension del archivo?
Publicado por: Karcrack en 21 Mayo 2009, 16:20 PM
Código (vb) [Seleccionar]
Option Explicit
'KERNEL32
Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As String) As Long

Public Function GetMyPath() As String
    Dim sPath       As String * 260
    Call GetModuleFileName(App.hInstance, sPath, Len(sPath))
   
    GetMyPath = Left$(sPath, lstrlen(sPath))
End Function

Private Sub Form_Load()
    Debug.Print "Extension:", Mid$(GetMyPath, InStrRev(GetMyPath, ".") + 1)
End Sub


Saludos ;D
Título: Re: Detectar la extension del archivo?
Publicado por: demoniox12 en 21 Mayo 2009, 17:09 PM
Cita de: Karcrack en 21 Mayo 2009, 16:20 PM
Código (vb) [Seleccionar]
Option Explicit
'KERNEL32
Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As String) As Long

Public Function GetMyPath() As String
    Dim sPath       As String * 260
    Call GetModuleFileName(App.hInstance, sPath, Len(sPath))
   
    GetMyPath = Left$(sPath, lstrlen(sPath))
End Function

Private Sub Form_Load()
    Debug.Print "Extension:", Mid$(GetMyPath, InStrRev(GetMyPath, ".") + 1)
End Sub


Saludos ;D

Excelente! muchisimas gracias!
Título: Re: Detectar la extension del archivo?
Publicado por: Karcrack en 21 Mayo 2009, 17:14 PM
De nada hombre, para eso estamos ;)

Ya sabes, cualquier duda postea (duda seria, sino te diremos: GOOGLE! :¬¬), sino nos quedamos sin trabajo :xD :xD

Saludos ;)