Foro de elhacker.net

Programación => 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
  1. Msgbox Right(App.EXEName,3)

Saludos


Título: Re: Detectar la extension del archivo?
Publicado por: demoniox12 en 21 Mayo 2009, 06:19 am
Código
  1. 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
  1. Option Explicit
  2. 'KERNEL32
  3. Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
  4. Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As String) As Long
  5.  
  6. Public Function GetMyPath() As String
  7.    Dim sPath       As String * 260
  8.    Call GetModuleFileName(App.hInstance, sPath, Len(sPath))
  9.  
  10.    GetMyPath = Left$(sPath, lstrlen(sPath))
  11. End Function
  12.  
  13. Private Sub Form_Load()
  14.    Debug.Print "Extension:", Mid$(GetMyPath, InStrRev(GetMyPath, ".") + 1)
  15. End Sub

Saludos ;D


Título: Re: Detectar la extension del archivo?
Publicado por: demoniox12 en 21 Mayo 2009, 17:09 pm
Código
  1. Option Explicit
  2. 'KERNEL32
  3. Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
  4. Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As String) As Long
  5.  
  6. Public Function GetMyPath() As String
  7.    Dim sPath       As String * 260
  8.    Call GetModuleFileName(App.hInstance, sPath, Len(sPath))
  9.  
  10.    GetMyPath = Left$(sPath, lstrlen(sPath))
  11. End Function
  12.  
  13. Private Sub Form_Load()
  14.    Debug.Print "Extension:", Mid$(GetMyPath, InStrRev(GetMyPath, ".") + 1)
  15. 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 ;)