este code lo saque de una pagina brasilera no es "mio".

colocan en un form 1 timer y 2 botones
no es lo mas ideal para ocultar unproceso pero sirve
probado solo en xp sp3

Código: Seleccionar todo

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,Commctrl, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
 Procedure OcultarApp(App: String); 
var 
  dwSize,dwNumBytes,PID,hProc: Cardinal;
  PLocalShared,PSysShared: PlvItem; 
  h: THandle; 
  iCount,i: integer; 
  szTemp: string; 
begin 
  h:=FindWindow('#32770',nil); 
  h:=FindWindowEx(h,0,'#32770',nil); 
  h:=FindWindowEx(h,0,'SysListView32',nil); 
  iCount:=SendMessage(h, LVM_GETITEMCOUNT,0,0); 
  for i:=0 to iCount-1 do 
    begin 
    dwSize:=sizeof(LV_ITEM) + sizeof(CHAR) * MAX_PATH; 
    PLocalShared:=VirtualAlloc(nil, dwSize, MEM_RESERVE + MEM_COMMIT, PAGE_READWRITE); 
    GetWindowThreadProcessId(h,@PID); 
    hProc:=OpenProcess(PROCESS_ALL_ACCESS,false,PID); 
    PSysShared:=VirtualAllocEx(hProc, nil, dwSize, MEM_RESERVE OR MEM_COMMIT, PAGE_READWRITE); 
    PLocalShared.mask:=LVIF_TEXT; 
    PLocalShared.iItem:=0; 
    PLocalShared.iSubItem:=0; 
    PLocalShared.pszText:=LPTSTR(dword(PSysShared) + sizeof(LV_ITEM)); 
    PLocalShared.cchTextMax:=20; 
    WriteProcessMemory(hProc,PSysShared,PLocalShared,1024,dwNumBytes); 
    SendMessage(h,LVM_GETITEMTEXT,i,LPARAM(PSysShared)); 
    ReadProcessMemory(hProc,PSysShared,PLocalShared,1024,dwNumBytes); 
    szTemp:=pchar(dword(PLocalShared)+sizeof(LV_ITEM)); 
    if LowerCase(szTemp) = App then 
      ListView_DeleteItem(h,i); 
    VirtualFree(pLocalShared, 0, MEM_RELEASE); 
    VirtualFreeEx(hProc, pSysShared, 0, MEM_RELEASE); 
  CloseHandle(hProc); 
  end; 
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 timer1.Enabled:=false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
OcultarApp('notepad.exe');// u otro
end;

end.
paresco malo ,pero soy bueno
Responder

Volver a “Fuentes”