Ver Mensaje Individual
  #5  
Antiguo 31-12-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.144
Reputación: 20
kurono Va por buen camino
amigos e estado probando los codigos que e visto en los hilos relacionados con el tema que e puesto y e escogido uno y funciona a la perfecion pero el inconveniente que veo es que solo funciona en modo consola me gustaria hacer que funcione en modo grafico con formulario a qui le muestro el codigo

Código Delphi [-]
uses Windows;

var
 Dummy, Mask: Cardinal;
 si: TStartupInfo = (cb: SizeOf(TStartupInfo));
 pi: TProcessInformation;

begin
 CreateProcess(nil, 'notepad', nil, nil, False, 0, nil, nil, si, pi); // Ejecutamos el Bloc de notas,
 GetProcessAffinityMask(DWORD(-1), Dummy, Mask);                      // Obtenemos en Mask, los CPUs disponibles,
 if (Mask and 2) <> 0 then                                            // Verificamos si existen dos CPUs como mínimo...
  SetProcessAffinityMask(pi.hProcess, 2);                             // Le asignamos dicho proceso solo al segundo CPU
end.

function Windows.SetProcessAffinityMask(hProcess, dwProcessAffinityMask: Cardinal): LongBool;
// Cada bit de dwProcessAffinityMask representa un microprocesador o nucleo
hProcess := OpenProcess(PROCESS_SET_INFORMATION, False, dwProcessID); // donde dwProcessID es el identificador del proceso
hProcess := GetCurrentProcess; {-1}
hProcess := TProcessInformation.hProcess;
Responder Con Cita