Duda obtener ID proceso

Iniciado por h0oke, 13 Julio 2009, 19:04 PM

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

h0oke

Tengo una función que obtiene los procesos del sistema y luego según uno vaya seleccionando en un textbox coloca: "VB6.exe" "svchost.exe",etc. ¿A partir de ello se puede obtener el PID?

Novlucker

Y cual sería la función que lista los procesos? Con una adaptación de esa sería posible, y debes de tener en cuenta que puede haber varios procesos pero con el mismo nombre, y en este caso tendrías varios PID para un nombre

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

h0oke

Tienes razón Novlucker me has dado una idea.

Pero tenía la duda si es que existe algo parecido a FindWindow(), en el cual uno pone el nombre de la venta y obtiene un handle que luego con getwindowprocessid obtiene el PID.

seba123neo

no se como estas listando pero si usas esta estructura, mas algunas api's ya tenes todo...

Código (vb) [Seleccionar]
Private Type PROCESSENTRY32 
     dwSize As Long 
     cntUsage As Long 
     th32ProcessID As Long 
     th32DefaultHeapID As Long 
     th32ModuleID As Long 
     cntThreads As Long 
     th32ParentProcessID As Long 
     pcPriClassBase As Long 
     dwFlags As Long ' Flags 
     szExeFile As String * MAX_PATH
End Type


saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

h0oke

Hola seba, mi estructura es algo parecida:
Código (vb) [Seleccionar]

Public Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long           ' This process
    th32DefaultHeapID As Long
    th32ModuleID As Long            ' Associated exe
    cntThreads As Long
    th32ParentProcessID As Long     ' This process's parent process
    pcPriClassBase As Long          ' Base priority of process threads
    dwFlags As Long
    szExeFile As String * 260       ' MAX_PATH
End Type


La saque de microsoft support.
Ahora lo que yo hacia era lo siguiente:

Código (vb) [Seleccionar]
Dim txtprocess() As String
Dim pathrv As String
Dim path As String
path = List1.List(List1.ListIndex)
pathrv = StrReverse(path)
If pathrv <> "" Then
    txtprocess = Split(pathrv, "\")
    Text1.Text = StrReverse(txtprocess(0))
Else
    MsgBox "No se encuentra proceso"
End If


para determinar mi proceso .exe, pero al fin y al cabo al parece no me sirve.

Lo que necesito es que cuando selecciono el item de la lista me aparezca su pid en un textbox.

seba123neo

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

h0oke

Gracias seba  ::)

Siempre he usado esa página y no se porque en estos momentos no la he visitado :S