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)
| | | | |-+  [Solucionado] Como puedo obtener el Process ID de un Programa (PID)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Como puedo obtener el Process ID de un Programa (PID)  (Leído 21,213 veces)
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #10 en: 15 Noviembre 2009, 02:00 am »

pero el quiere por el "NOMBRE DEL PROCESO" ya lo dijo. y si se puede hacer, es mas ya postie en otro lado un codigo que cierra un proceso a traves de su nombre, o sea es lo mismo que buscas, porque al querer cerrarlo averigua su PID a travez del nombre y se lo pasa a TerminateProcess...por eso buscando como cerrar un ejeuctable a travez del nombre podes encontrar lo que estas buscando.usando
CreateToolhelpSnapshot,ProcessNext,OpenProcess.aparte hay varios ejemplos en C++ de lo que queres que no son dificiles de pasar a visual basic y son re cortos.


En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #11 en: 15 Noviembre 2009, 02:03 am »

Citar
Lo que me refiero es que no sabe ni listar los procesos y va a saber sacar el handle

 :xD Disculpas.


En línea

Jaixon Jax


Desconectado Desconectado

Mensajes: 859



Ver Perfil
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #12 en: 15 Noviembre 2009, 02:19 am »

Código:
HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
 PROCESSENTRY32 procinfo={sizeof(PROCESSENTRY32)};
 while(Process32Next(handle,&procinfo))
{
  if(strcmp(procinfo.szExeFile,"micosa.exe")==0)
{
pid=procinfo.th32ProcessID ;                               }
                                }
                 }

Esta en c++ Pasate por la MSDN para que lo entiendas ....  ;)
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #13 en: 15 Noviembre 2009, 03:53 am »

Hola Agus, te sirve por intermedo del Hwnd de la ventana (FindWiindows) ???

Código:

Option Explicit

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Long, lpdwprocessid As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()

  Shell "calc"
  
  Dim Handle As Long: Handle = FindWindow("Scicalc", vbNullString)
  Dim idProc As Long: Call GetWindowThreadProcessId(Handle, idProc)
  
  MsgBox idProc

End Sub



Código:


Option Explicit

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Long, lpdwprocessid As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()

  'explorer
 
  Dim Handle As Long: Handle = FindWindow("Progman", "Program Manager")
  Dim idProc As Long: Call GetWindowThreadProcessId(Handle, idProc)
 
  MsgBox idProc

End Sub










« Última modificación: 15 Noviembre 2009, 04:45 am por Dessa » En línea

Adrian Desanti
cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #14 en: 15 Noviembre 2009, 08:52 am »

La respuesta es CreateToolhelp32Snapshot si queres averiguar el PID a travez del nombre. Te daria el code pero me da "fiaca".
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #15 en: 15 Noviembre 2009, 13:31 pm »


Código:

Option Explicit

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 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()
  MsgBox el_pid("csrss.exe")
  End
End Sub

Function el_pid(proceso As String) As Long
   
    Dim hSnapShot As Long, uProcess As PROCESSENTRY32
    hSnapShot = CreateToolhelp32Snapshot(&H1 Or &H2 Or &H4 Or &H8, 0&)
    uProcess.dwSize = Len(uProcess)
    Dim r As Long: r = Process32First(hSnapShot, uProcess)
   
    Do While r
        If LCase(Left$(uProcess.szExeFile, IIf(InStr(1, uProcess.szExeFile, Chr$(0)) > 0, InStr(1, uProcess.szExeFile, Chr$(0)) - 1, 0))) = LCase(proceso) Then
          el_pid = uProcess.th32ProcessID
          Exit Do
        End If
        r = Process32Next(hSnapShot, uProcess)
    Loop
    CloseHandle hSnapShot

End Function


Agus, aclarale al foro que lo de "me da fiaca" fue un chiste... no ?

 
En línea

Adrian Desanti
NikNitro!


Desconectado Desconectado

Mensajes: 1.309


Galletaaa!!!


Ver Perfil WWW
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #16 en: 15 Noviembre 2009, 13:33 pm »

Si está abierto... no te valdría con un simple control+alt+supr??? :-\
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #17 en: 15 Noviembre 2009, 15:00 pm »

Si está abierto... no te valdría con un simple control+alt+supr??? :-\
Estamos en la sección de 'Programacion VB'...
En línea

NikNitro!


Desconectado Desconectado

Mensajes: 1.309


Galletaaa!!!


Ver Perfil WWW
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #18 en: 15 Noviembre 2009, 15:03 pm »

a lo siento, pero pensaba que a veces el camino más facil es el mejor

De todos modos, tranquilos, dejo el post..

S@lu2
En línea

agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: [Ayuda] Como puedo obtener el Process ID de un Programa (PID)
« Respuesta #19 en: 15 Noviembre 2009, 16:24 pm »

Gracias a todos. Ya esta solucionado.

Lo de me da fiaca obviamente que es mentira, es mas puse "me da fiaca, no mentira" obviamente que si lo supiera hacer no ubiera solicitado ayuda.

P.D: Fue muy gracioso el comentario anterios
Si está abierto... no te valdría con un simple control+alt+supr??? :-\
Estamos en la sección de 'Programacion VB'...
JAJA
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como obtener la dirección ip local en Python [solucionado]
Scripting
Yeison.Eng 2 11,577 Último mensaje 31 Diciembre 2010, 19:49 pm
por Yeison.Eng
[SOLUCIONADO] Cómo puedo obtener el diseño de las tablas por query en mysql?
Bases de Datos
papita5 2 4,065 Último mensaje 7 Noviembre 2011, 00:06 am
por papita5
No puedo usar la clase Process en c++
Programación C/C++
FMLTGRD 3 2,398 Último mensaje 20 Noviembre 2014, 03:32 am
por FMLTGRD
(Solucionado) Ayuda obtener id de vb a c++
Programación C/C++
Cromatico 1 1,966 Último mensaje 28 Junio 2015, 01:36 am
por x64core
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines