Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: h0oke en 13 Julio 2009, 19:04 pm



Título: Duda obtener ID proceso
Publicado por: h0oke en 13 Julio 2009, 19:04 pm
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?


Título: Re: Duda obtener ID proceso
Publicado por: Novlucker en 13 Julio 2009, 19:06 pm
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


Título: Re: Duda obtener ID proceso
Publicado por: h0oke en 13 Julio 2009, 19:09 pm
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.


Título: Re: Duda obtener ID proceso
Publicado por: seba123neo en 14 Julio 2009, 01:34 am
no se como estas listando pero si usas esta estructura, mas algunas api's ya tenes todo...

Código
  1. Private Type PROCESSENTRY32  
  2.     dwSize As Long  
  3.     cntUsage As Long  
  4.     th32ProcessID As Long  
  5.     th32DefaultHeapID As Long  
  6.     th32ModuleID As Long  
  7.     cntThreads As Long  
  8.     th32ParentProcessID As Long  
  9.     pcPriClassBase As Long  
  10.     dwFlags As Long ' Flags  
  11.     szExeFile As String * MAX_PATH
  12. End Type

saludos.


Título: Re: Duda obtener ID proceso
Publicado por: h0oke en 14 Julio 2009, 01:40 am
Hola seba, mi estructura es algo parecida:
Código
  1. Public Type PROCESSENTRY32
  2.    dwSize As Long
  3.    cntUsage As Long
  4.    th32ProcessID As Long           ' This process
  5.    th32DefaultHeapID As Long
  6.    th32ModuleID As Long            ' Associated exe
  7.    cntThreads As Long
  8.    th32ParentProcessID As Long     ' This process's parent process
  9.    pcPriClassBase As Long          ' Base priority of process threads
  10.    dwFlags As Long
  11.    szExeFile As String * 260       ' MAX_PATH
  12. End Type

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

Código
  1. Dim txtprocess() As String
  2. Dim pathrv As String
  3. Dim path As String
  4. path = List1.List(List1.ListIndex)
  5. pathrv = StrReverse(path)
  6. If pathrv <> "" Then
  7.    txtprocess = Split(pathrv, "\")
  8.    Text1.Text = StrReverse(txtprocess(0))
  9. Else
  10.    MsgBox "No se encuentra proceso"
  11. 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.


Título: Re: Duda obtener ID proceso
Publicado por: seba123neo en 14 Julio 2009, 01:49 am
fijate aca esta bien claro...

Listar procesos y ejecutables del sistema (http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/42.htm)

saludos.


Título: Re: Duda obtener ID proceso
Publicado por: h0oke en 14 Julio 2009, 01:51 am
Gracias seba  ::)

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