Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Lambda en 12 Octubre 2006, 00:42 am



Título: Process Path
Publicado por: Lambda en 12 Octubre 2006, 00:42 am
hay alguna manera de sacar la ruta completa al archivo de un proceso?

por ejemplo

esta el proceso apache.exe

yo lo que quiero es sacar la ruta completa, o sea

C:\Apache\bin\apache.exe

saludos, busque por planet source code pero no encontre nada


Título: Re: Process Path
Publicado por: NYlOn en 12 Octubre 2006, 00:46 am
No se me ocurre nada más que buscar el nombre del ejecutable en el disco... De eso si hay muchos ejemplos.
Otra cosa no se me ocurre....


Saludos.-


Título: Re: Process Path
Publicado por: Lambda en 12 Octubre 2006, 01:10 am
encontre este code

Código:
Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Declare Function GetWindowWord Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Integer
Const GWW_HINSTANCE = (-6)
Private Sub Form_Load()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    Dim ModuleName As String, FileName As String, hInst As Long
    'create a buffer
    ModuleName = String$(128, Chr$(0))
    'get the hInstance application:
    hInst = GetWindowWord(Me.hwnd, GWW_HINSTANCE)
    'get the ModuleFileName:
    'enter the following two lines as one, single line:
    ModuleName = Left$(ModuleName, GetModuleFileName(hInst, ModuleName, Len(ModuleName)))
    'set graphics mode to persistent
    Me.AutoRedraw = True
    'show the module filename
    Me.Print "Module Filename: " + ModuleName
End Sub

he cambiado el valor de la variable Module Name por el del proceso pero no me devuelve la ruta completa, siempre se keda a cachos

por ejemplo

C:\Archivos de progr

en vez de C:\Archivos de Programa

saludos