Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Chester16 en 29 Mayo 2006, 20:39 pm



Título: Averiguar Directorio
Publicado por: Chester16 en 29 Mayo 2006, 20:39 pm
Hola aver si alguien me podia pasar el codigo para averiguar donde se encuentra el archivo exe que as creado con visual basic.


Título: Re: Averiguar Directorio
Publicado por: Dyablo Poeta en 29 Mayo 2006, 20:57 pm
Saludos, bueno si entendi bien tu pregunta, puedes usar la api GetCurrentDirectory, te pongo un codigo de ejemplo.
Citar
Private Declare Function GetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectoryA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Sub Form_Paint()
    Dim sSave As String
    'Creas la variable que va a contener la direcion
    sSave = String(255, 0)
    'devuelve el directorio actual del exe
    GetCurrentDirectory 255, sSave
    MsgBox sSave
End Sub
Ejemplo Xtraido del Api Guide 3.7
Espero sea d ayuda.
Saludos


Título: Re: Averiguar Directorio
Publicado por: Chester16 en 29 Mayo 2006, 21:04 pm
Muxas gracias ya se como se hace.Esque todavia hay algunas cosas de vb que no controlo
Gracias


Título: Re: Averiguar Directorio
Publicado por: FaiF (A¥åHøRå) en 29 Mayo 2006, 21:52 pm
Más sencillo aún:

Código:
Dim x As String
x = App.Path

salu2


Título: Re: Averiguar Directorio
Publicado por: Robokop en 29 Mayo 2006, 22:24 pm
msgbox app.path 'muestra el nombre del directorio
msgbox app.exename ' muestra el nombre del ejecutable
msgbox app.path & "\" & app.exename & ".exe" 'Muestra el directorio completo
saludos


Título: Re: Averiguar Directorio
Publicado por: NYlOn en 30 Mayo 2006, 02:39 am
Hay que tener cuidado al usar app.path & "\" & app.exename & ".exe" ya que si el directorio donde se ejcuta el programa es el directorio raiz te devuelve la ruta con la barra invertida al final, ej: "C:\"; "E:\"; etc...
Por lo tanto te quedaria C:\\Hola.txt lo que podria generar un error.
Para solucionar esto podrias usar un IF:
Código:
If Right(App.Path, 1) = "\" then
     MsgBox app.path & app.exename & ".exe"
Else
    MsgBox app.path & "\" & app.exename & ".exe"
End If

Saludos.-