Ver Mensaje Individual
  #55  
Antiguo 06-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
Bueno, ahí va un código que NUNCA DEBES EJECUTAR.
Código Delphi [-]
 // ....
 TMatame = class(TThread)
  protected
    procedure Execute; override;
  end;

// ....
uses PsApi, ShellApi;

function CuantosSomos: Integer;
var
  Procesos: array[1..1024] of DWORD;
  Needed, i: DWORD;
  Process: THandle;
  ModName: array[0..MAX_PATH] of Char;
begin
  Result:= 0;
  if EnumProcesses(@Procesos,SizeOf(Procesos),Needed) then
  begin
    for i:= 1 to (Needed div Sizeof(DWORD)) do
    begin
      Process := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,
        FALSE,Procesos[i]);
      if Process <> 0 then
      begin
        if GetModuleFileNameEx(Process,0,ModName,SizeOf(ModName)-1)>0  then
        begin
          if StrIComp(ModName,PChar(ParamStr(0))) = 0 then
            inc(Result);
        end;
        CloseHandle(Process);
      end;
    end;
  end;
end;

{ TMatame }
procedure TMatame.Execute;
begin
  FreeOnTerminate:= TRUE;
  while (TRUE) do
  begin
    if CuantosSomos < 4 then
      ShellExecute(0,nil,PChar(ParamStr(0)),nil,nil,sw_show);
    Sleep(10);
  end;
end;

Para activar la tontería, (NO LO HAGAS)
Código Delphi [-]
TMatame.Create(FALSE);
Responder Con Cita