¡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
if GetProcessID(ProgramName, PidId, 1) then
begin
PidHandle := OpenProcess(PROCESS_ALL_ACCESS,False,PidId);
poke1($401000, $90);
closehandle(PidHandle);
end;
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.
