elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  OBTENER ID DEL PROCESO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: OBTENER ID DEL PROCESO  (Leído 2,894 veces)
ciruit

Desconectado Desconectado

Mensajes: 121


Ver Perfil
OBTENER ID DEL PROCESO
« en: 10 Diciembre 2005, 14:24 pm »

Buenas
he intentado de varias formas obtener el id de un proceso (conociendo el nombre claro) pero no he dado con el resultado.
me podeis ayudar ?
gracias


En línea

germixxx

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: OBTENER ID DEL PROCESO
« Respuesta #1 en: 10 Diciembre 2005, 18:33 pm »

api findwindow


En línea

Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: OBTENER ID DEL PROCESO
« Respuesta #2 en: 10 Diciembre 2005, 18:59 pm »

hola. mmmmmmmmm bueno lo que io hago (gracias a Slasher-k :P) es utilizar las APIs CreateToolhelp32Snapshot para crear un objeto SnapShot y despues con Process32First y Process32Next vas enumerando los procesos y podes obtener el PID y otras cosas mas.

Fijate en las chinchetas, hay en la de las faqs y preguntas mas frecuentes esas, hay un code que hizo Slasher-k sobre procesos, threads y demases :P hay usa todo eso.


Salu2!
En línea

sr. oscuro

ciruit

Desconectado Desconectado

Mensajes: 121


Ver Perfil
Re: OBTENER ID DEL PROCESO
« Respuesta #3 en: 10 Diciembre 2005, 21:11 pm »

mmm http://foro.elhacker.net/index.php/topic,73941.0.html
si supiera mas de esto sería mas fácil :(
En línea

..::[ thekingkid ]::..

Desconectado Desconectado

Mensajes: 63



Ver Perfil
Re: OBTENER ID DEL PROCESO
« Respuesta #4 en: 10 Diciembre 2005, 21:43 pm »

la verdad esto es lo me sirve ami es un buen ejemplo descargado de la pagina de jose rubi (jejejeje)

------------------------------------------------------------------------
Código:
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
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
           szExeFile As String * 260
       End Type

Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Const PROCESS_TERMINATE = &H1
Const PROCESS_CREATE_THREAD = &H2
Const PROCESS_VM_OPERATION = &H8
Const PROCESS_VM_READ = &H10
Const PROCESS_VM_WRITE = &H20
Const PROCESS_DUP_HANDLE = &H40
Const PROCESS_CREATE_PROCESS = &H80
Const PROCESS_SET_QUOTA = &H100
Const PROCESS_SET_INFORMATION = &H200
Const PROCESS_QUERY_INFORMATION = &H400
Const STANDARD_RIGHTS_REQUIRED = &HF0000
Const SYNCHRONIZE = &H100000
Const PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'Para llenar el listbox con los procesos
Sub RellenaLista()
Dim hSnapShot As Long
Dim uProceso As PROCESSENTRY32
Dim res As Long

List1.Clear
hSnapShot = CreateToolhelpSnapshot(2&, 0&)
If hSnapShot <> 0 Then
   uProceso.dwSize = Len(uProceso)
   res = ProcessFirst(hSnapShot, uProceso)
   Do While res
      List1.AddItem Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1)
      List1.ItemData(List1.NewIndex) = uProceso.th32ProcessID
      res = ProcessNext(hSnapShot, uProceso)
      MsgBox (uProceso.szExeFile)
   Loop
   Call CloseHandle(hSnapShot) ' por cada proceso wey
End If

End Sub

'Para cerrar el proceso seleccionado
Private Sub Command1_Click()
Dim hProcess As Long, iResult As Long

If List1.ListIndex = -1 Then
    Beep
    MsgBox "Debe seleccionar una aplicación"
Else
    hProcess = OpenProcess(PROCESS_TERMINATE, True, List1.ItemData(List1.ListIndex))
    MsgBox hProcess
    iResult = TerminateProcess(hProcess, 99)
    MsgBox iResult
    CloseHandle hProcess
    Sleep (100)
    RellenaLista
End If
End Sub

Private Sub Form_Load()
Call RellenaLista
End Sub


si te sirve no hay tos
« Última modificación: 11 Diciembre 2005, 00:33 am por Slasher-K » En línea

just wanna try
NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: OBTENER ID DEL PROCESO
« Respuesta #5 en: 11 Diciembre 2005, 01:18 am »

Código:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Form_Load()
    MsgBox FindWindow(vbNullString, "Opera")
End Sub

Eso buscaria la ventana Opera
Si devuelve 0 es pq no encuentra la ventana.

Espero q sea lo q buscabas

Saluds.-
En línea

ZEALOT

Desconectado Desconectado

Mensajes: 38



Ver Perfil
Re: OBTENER ID DEL PROCESO
« Respuesta #6 en: 11 Diciembre 2005, 04:50 am »

hola a todos. por aqui ottra vez

solo una opinion: no confundan un handle de ventana con el ID de un proceso(PID), son 2 cosas muy distintas, el unico que mas se acerca a la respuesta es ..::[ thekingkid ]::..

saludos bye  ;)
En línea

ciruit

Desconectado Desconectado

Mensajes: 121


Ver Perfil
Re: OBTENER ID DEL PROCESO
« Respuesta #7 en: 11 Diciembre 2005, 05:13 am »

Estudiare ese código y les cuento que tal me fue por que ahora mis ojos no dan mas :(.
Saludos y gracias.

PD: Cualquier otro code se agradece.


-- Lo simple es bueno... --
En línea

kakinets


Desconectado Desconectado

Mensajes: 414


[>Argentina<]


Ver Perfil
Re: OBTENER ID DEL PROCESO
« Respuesta #8 en: 11 Diciembre 2005, 18:22 pm »

bueno espero que te sirva....


Código:
Const TH32CS_SNAPHEAPLIST = &H1
Const TH32CS_SNAPPROCESS = &H2
Const TH32CS_SNAPTHREAD = &H4
Const TH32CS_SNAPMODULE = &H8
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Const TH32CS_INHERIT = &H80000000
Const MAX_PATH As Integer = 260
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
    szExeFile As String * MAX_PATH
End Type
Private Declare Function CreateToolhelp32Snapshot Lib "Kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)

Private Sub Form_Load()
    Dim hSnapShot As Long, uProcess As PROCESSENTRY32
    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
    uProcess.dwSize = Len(uProcess)
    R = Process32First(hSnapShot, uProcess)
    Me.AutoRedraw = True
    Do While R
        List1.AddItem Left$(uProcess.szExeFile, IIf(InStr(1, uProcess.szExeFile, Chr$(0)) > 0, InStr(1, uProcess.szExeFile, Chr$(0)) - 1, 0))
        R = Process32Next(hSnapShot, uProcess)
    Loop
    CloseHandle hSnapShot
End Sub

               Saludos KakiNets
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Obtener PID (id de Proceso) desde Java
Java
Lopardo 6 16,500 Último mensaje 4 Enero 2011, 19:54 pm
por Debci
[Solucionado] Obtener código MD5 Checksum de un proceso abierto
.NET (C#, VB.NET, ASP)
Segurida 2 3,533 Último mensaje 8 Mayo 2011, 22:24 pm
por Segurida
obtener peb del proceso depurado
Ingeniería Inversa
aguml 4 2,893 Último mensaje 19 Junio 2014, 05:32 am
por x64core
Obtener el nombre de Proceso de un Programa
.NET (C#, VB.NET, ASP)
**Aincrad** 2 2,956 Último mensaje 20 Diciembre 2017, 13:54 pm
por **Aincrad**
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines