Process Path

Iniciado por Lambda, 12 Octubre 2006, 00:42 AM

0 Miembros y 1 Visitante están viendo este tema.

Lambda

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

NYlOn

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.-

Lambda

encontre este code

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