FORUM DARKERS

Tecnologia & Informática => Programação => Delphi => Topic started by: rodweb on 30 de March , 2006, 06:19:42 PM

Title: [Ajuda] Escondendo do ctrl+del "Erro aki"
Post by: rodweb on 30 de March , 2006, 06:19:42 PM
coloquei esse code aki, éra pra ocultar do gerenciador de tarefaz mais da erro....o código tah errado ou uq ?

Quoteunit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
 
type
  TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);
  procedure FormDestroy(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.DFM}
{Para ocultar um programa, deve-se registrar este como um serviço do Windows. Normalmente um serviço do Windows é ativado quando com a inicialização do sistema (Windows) e pemanece ativo até a finalização deste. Este processo esconde o programa da lista "Ctrl+Alt+Del"}
Const
  Servico_Simples = 1;
  Servico_Unregister = 1;
 
Function RegisterServiceProcess(DwProcessID, dwType: DWord): DWord; StdCall; External 'KERNEL32.dll';
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, Servico_Simples);
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, Servico_Unregister);
end;
end.

(//http://img381.imageshack.us/img381/6538/imagem7av.th.jpg) (//http://img381.imageshack.us/my.php?image=imagem7av.jpg)
Title: Re: [Ajuda] Escondendo do ctrl+del "Erro aki"
Post by: whit3_sh4rk on 30 de March , 2006, 06:24:55 PM
Dá esse erro porque isso só funciona em Windows 9x.. Em Windows NT/XP isso não funciona, pois não existe o RegisterServiceProcess no kernel32.dll.. Como mostra na mensagem de erro..

[]s
Title: Re: [Ajuda] Escondendo do ctrl+del "Erro aki"
Post by: rodweb on 30 de March , 2006, 06:26:29 PM
ahh....vlw  ;)
Title: Re: [Ajuda] Escondendo do ctrl+del "Erro aki"
Post by: Anonymous on 30 de March , 2006, 11:59:19 PM
disable  ctrl+alt+delSystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @I, 0);
enable ctrl+alt+del
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @I, 0);
tranca todos os atalhos do teclado
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);

usar toda a memoria ( num tem nada a ver mas eu to postando) ^^

    function GetMemoryTotalPhys : DWord;
    var
    memStatus: TMemoryStatus;
    begin
    memStatus.dwLength := sizeOf ( memStatus );
    GlobalMemoryStatus ( memStatus );
    Result := memStatus.dwTotalPhys;
    end;

 ;)
Title: Re: [Ajuda] Escondendo do ctrl+del "Erro aki"
Post by: whit3_sh4rk on 31 de March , 2006, 11:12:59 AM
[darkxlx]
Novamente, creio eu, que essas funções para desabilitar o Ctrl+Alt+Del, são apenas para Win9x..

Para Windows 2000/NT/XP isso pode ser facilmente feito pelo registro:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

Acrescente nessa chave, um valor DWORD de nome DisableTaskMgr e coloque nos dados dele 1(ativado).

Para fazer efeito em todos os usuários do PC, coloque em:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System ...

Um exemplo pra vcs:
Quote
//Após declarar a unit Registry em uses, use em algum evento OnClick, etc..
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System\',True);
Reg.WriteBool('DisableTaskMgr', True);
Reg.CloseKey;
end;



[]s
Title: Re: [Ajuda] Escondendo do ctrl+del "Erro aki"
Post by: rodweb on 31 de March , 2006, 01:51:20 PM
blz...vlw denovo  ;)