hola. e decido jugar con algunas apis, para eso quiese enlistar en un listview los procesos, sus pid, y su ruta pero tengo un inconveniente con la ruta ...
'veran en vb6 con esta api no tengo ningun problema :
Private Declare Function GetModuleFileNameExA Lib "PSAPI.DLL" (ByVal _
hProcess As Long, _
ByVal hModule As Long, ByVal _
lpFilename As String, _
ByVal nSize As Long) As Long
y adapte la api en .net de esta forma
<System.Runtime.InteropServices.DllImport("PSAPI.DLL")> _
Private Shared Function GetModuleFileNameExA(ByVal hWnd As System.IntPtr, ByVal hModule As Int32, ByVal lpFilename As String, ByVal nSize As Int32) As Integer
End Function
pero al querer adquirir la ruta de cierto proceso no sale nada porque sera ?
mi codigo
Dim Proceso As Process, ret As Integer, hola As String
For Each Proceso In Process.GetProcesses
If Proceso.ProcessName = "notepad" Then
hola = Space(255)
ret = GetModuleFileNameExA(Proceso.Handle, 0, hola, 255)
MsgBox(Len(Microsoft.VisualBasic.Left(hola, ret))) ' no optengo nada ??
Else
End If
Next
Alguna sugerencia. gracias ..
:( :( :( :(
no hace falta usar api para eso:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
For Each p As Process In Process.GetProcesses()
Debug.WriteLine(p.Modules(0).FileName)
Next p
Catch p As Exception
Debug.WriteLine(p.ToString)
End Try
End Sub
End Class
saludos.
a ok . muchas gracias. pero lo que pasa de esa forma esque cuando lo invoco tengo el mensaje de permiso denegado . por eso me tiro mas a las apis ;-)