Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-12-2008
Ðαяισš Ðαяισš is offline
Miembro
 
Registrado: dic 2008
Posts: 42
Poder: 0
Ðαяισš Va por buen camino
Thumbs up Resuelto.

Pid Correcto Con El GetProcessID
Gracias.
Problema Resuelto.

Última edición por Ðαяισš fecha: 19-01-2009 a las 06:40:11.
Responder Con Cita
  #2  
Antiguo 31-12-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Hola!

Algo que puedes hacer es agregar un tercer parámetro, de tipo Integer, a la función GetProcessID, para indicarle de cuál proceso quieres el ID, de entre todos los que llevan el mismo nombre de programa ejecuatable. Haciendo que su ciclo While se repita hasta coincidir, no sólo con el nombre de archivo ejecutable, sino también con el número de proceso dado.

De tal forma que TForm1.Button1Click quedaría más o menos así:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Obtenemos el ID del primer proceso
  if GetProcessID(ProgramName, PidId, 1) then
  begin
    PidHandle  :=  OpenProcess(PROCESS_ALL_ACCESS,False,PidId);
    poke1($401000, $90);
    closehandle(PidHandle);
  end;

  // Obtenemos el ID del segundo proceso
  if GetProcessID(ProgramName, PidId, 2) then
  begin
    PidHandle  :=  OpenProcess(PROCESS_ALL_ACCESS,False,PidId);
    poke1($401000, $90);
    closehandle(PidHandle);
  end;
end;

Espero te haya orientado satisfactoriamente.

Un abrazo en proceso.

Al González.
Responder Con Cita
  #3  
Antiguo 31-12-2008
Ðαяισš Ðαяισš is offline
Miembro
 
Registrado: dic 2008
Posts: 42
Poder: 0
Ðαяισš Va por buen camino
Gracias.
Problema Resuelto.

Última edición por Ðαяισš fecha: 19-01-2009 a las 06:41:36.
Responder Con Cita
  #4  
Antiguo 31-12-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Yo sí me voy a dormir ya, pero la ventaja que tienes es que ya amaneció en el Viejo Continente (que de viejo no tiene nada). Y algún forista de aquel lado de las Islas Azores podría echarte una mano.

Básicamente tienes que añadir un parámetro más, de tipo Integer en la cabecera de la función

function GetProcessID(Const ExeFileName: string; var ProcessId: integer;
Const ProcessNo :Integer): boolean;


Y usarlo en el If que está en el interior del While para compararlo contra una variable "Count" (que también hay que agregar e inicializar en 0 dentro de la función), para llevar el conteo de todos los procesos que van coincidiendo con el nombre buscado hasta que Count sea igual a ProcessNo.

Me retiro a descansar. Mucho éxito con los deberes.

Al.
Responder Con Cita
  #5  
Antiguo 31-12-2008
Ðαяισš Ðαяισš is offline
Miembro
 
Registrado: dic 2008
Posts: 42
Poder: 0
Ðαяισš Va por buen camino
Gracias.
Problema Resuelto.

Última edición por Ðαяισš fecha: 19-01-2009 a las 06:41:48.
Responder Con Cita
  #6  
Antiguo 31-12-2008
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Poder: 18
DarkMan Va por buen camino
Lo fácil es preguntar y esperar a que te lo den ya hecho, lo que te ha comentado el amigo Al González no es una tarea complicada y yo creo que en 2 horas tendrías que ser capaz de sacarlo por ti mismo, o almenos no quedes esperando la solución porque puede tardar más del tiempo que tu necesitas.
__________________
"La recompensa de una buena acción está en haberla hecho"
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
averiguar direccion ip publica garban Internet 5 22-08-2007 18:53:04
Averiguar propiedades de pc D@byt Varios 3 05-10-2005 17:13:06
Averiguar equipos en red salvanano Internet 3 02-09-2005 00:44:02
averiguar codigos unko! Internet 11 03-02-2005 02:51:57
Averiguar estructura de frm brandolin MySQL 0 20-10-2003 22:23:57


La franja horaria es GMT +2. Ahora son las 12:48:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi