|
Usuários |
|
66 Usuários Online
|
|
[Artigos]
Impedindo a Finalização da Aplicação (CTRL+ALT+DEL/TaskManager) no XP |
Publicado por lexotan : Terça, Agosto 31, 2004 - 12:54 GMT-3 (15798 leituras)
13 Comentários Enviar para um amigo Versão para impressão
|
Procedimento que impede sua aplicação de ser finalizada pelo TaskManager (Gerenciador de Tarefas) do Windows XP.
Salve Pessoal!
Esta dica visa solucionar, ou pelo menos dar uma boa idéia de
como impedir que o usuário invoque o Gerenciador de Tarefas do Windows XP e
finalize um aplicativo ou serviço.
Existem muitos
métodos espalhados por aí utilizados para impedir o usuário de finalizar o
programa com a combinação CTRL+ALT+DEL... e alguns outros que impedem a
aplicação de ser exibida na lista de processos do Windows, utilizando chamadas
externas à função RegisterServiceProcess da dll Kernel32. O problema é que essa
função não é encontrada nas versões mais recentes do Windows, o que torna
impossível utiliza-la para impedir que um programa seja exibido na lista de
processos ativos. A extensão do problema é maior ainda quando tentamos
simplesmente desativar o conjunto CTRL+ALT+DEL do aplicativo, ou mesmo tentar
enganar o Windows, forçando a aplicação a aparecer como um Screen-Saver...
Assim, se você
quer esconder o seu programa dos sistemas compatíveis com o Windows NT (o 2000 e
o XP) você precisará trabalhar com o registro...
O procedimento
HabilitaCTRLALTDEL aceita um valor booleano para o parâmetro YesNo. Se você
envia um valor False como parâmetro, e o código é executado, quando o usuário
pressiona a combinação CTRL + ALT + DEL, o Gerenciador de Tarefas (Task Manager)
será desabilitado, enviando a mensagem padrão. Então, eis aí o código:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Adicione a unit Registry no seu projeto
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Como usar:
Você poderá iniciar e finalizar o procedimento respectivamente nos eventos
OnCreate e OnDestroy do seu formulário principal:
procedure TForm1.FormCreate(Sender: TObject);
begin
HabilitaCTRLALTDEL(False);
// Desativa a combinação CTRLALTDEL. Desativa também o Gerenciador de
Tarefas no computador com a aplicação executada;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm1.FormDestroy(Sender: TObject);
begin
HabilitaCTRLALTDEL(True);
// Habilita o conjunto de teclas, bem como o Gerenciador de Tarefas;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Insira o procedimento HabilitaCTRLALTDEL na sessão
implementation do form, como segue abaixo:
procedure HabilitaCTRLALTDEL(YesNo : boolean) ;
const
sRegPolicies = '\Software\Microsoft\Windows\CurrentVersion\Policies';
begin
with TRegistry.Create do
try
RootKey:=HKEY_CURRENT_USER;
if OpenKey(sRegPolicies+'\System\',True) then
begin
case YesNo of
False:
begin
WriteInteger('DisableTaskMgr',1) ;
end;
True:
begin
WriteInteger('DisableTaskMgr',0) ;
end;
end;
end;
CloseKey;
if OpenKey(sRegPolicies + '\Explorer\',True) then
begin
case YesNo of
False:
begin
WriteInteger('NoChangeStartMenu',1) ;
WriteInteger('NoClose',1) ;
WriteInteger('NoLogOff',1) ;
end;
True:
begin
WriteInteger('NoChangeStartMenu',0) ;
WriteInteger('NoClose',0) ;
WriteInteger('NoLogOff',0) ;
end;
end;
end;
CloseKey;
finally
Free;
end;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
E é isso ai, salve o seu projeto e rode o programa. Faça o
teste apertando a tecla Ctrl+Alt+Del. Se tudo deu certo, o Windows exibirá uma
mensagem de erro padrão, informando que o Gerenciador de Tarefas foi desativado.
Você pode até mesmo tentar executar o aplicativo do Gerenciador de tarefas, o
arquivo taskmgr.exe.
Espero que o artigo seja útil a vocês!
Observação: Matheus Venâncio
venancio@advancecci.com.br
|
|
Comentários | |
| | Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos. |
por: bylindoso : Fev 28, 2005 - 01:50 (Informações sobre o membro | Enviar uma mensagem)
|
|
MEU AMIGO! MUITO OBRIGADO! EU PASSEI VÁRIAS NOITES ACORDADO PROCURANDO ISSO! GRAÇAS A DEUS VC ME DEU ESSE DESCANSO! Vc sabe como eu faço pra bloquear teclas tbm? Preciso bloquear CTRL + ALT! meu e-mail é bylindoso@yahoo.com.br
|
por: fi.silva : Ago 08, 2005 - 12:00 (Informações sobre o membro | Enviar uma mensagem)
|
|
muito bom mesmo heim.. achei o bloqueio de alt+f4 queria o código das teclas ctrl, esc, tecla do windows "e" se alguem tiver por favor me mande
|
por: NW_Iroman : Abr 29, 2006 - 01:43 (Informações sobre o membro | Enviar uma mensagem)
|
|
Estou tentando utilizar esse codigo, mas naum está funcionando, axo q deve ser por causa dessa unit Registry, é só eu criar ou tenhu q baixa-la ??
|
por: dcts : Mai 03, 2006 - 11:56 (Informações sobre o membro | Enviar uma mensagem)
|
|
Oi. o codigo funciona perfeitamente no windows xp tambem. Mas eu ainda preciso de mais um detalhe, como posso ocultar a barra do menu iniciar do windows e a barra de ferramentas, ou pelo menos bloqueá-las pra que o usuário não possa mexer ? estou precisando muito disso, ficar muito agradecido se pudesse me ajudar. Meu email é daniel_tostes@hotmail.com
|
|
|
Edição 112 |
|
|
50 Programas Fontes |
|
|
Produtos |
|
|