Sumir problema do CTRL ALT DEL

Delphi

13/07/2005

Ae galera,

Beleza? Meu, já li todas os tópicos sobre o assunto aqui no fórum e nenhum deles funcinou...alguém já conseguiu fazer isso?

Sumir o programa do CTRL+ALT+DEL?

valeu


Adriano Santos

Adriano Santos

Curtidas 0

Respostas

Marco Salles

Marco Salles

13/07/2005

já li todas os tópicos sobre o assunto aqui no fórum e nenhum deles funcinou...


espero que este também não faça parte das estatíticas :cry: :cry: :cry:


GOSTEI 0
Adriano Santos

Adriano Santos

13/07/2005

Bom, consultei neste link também...muito bom o site, mas confesso que fiz todos os passos e não obtive resultados.

[url]http://delphi.about.com/od/windowsshellapi/l/aa022701a.htm[/url]


GOSTEI 0
Michael

Michael

13/07/2005

Olá colega!

Uma dica: se sua intenção ao esconder o programa da lista de processos do Windows é impedir que o usuário o feche desta forma, sugiro que vc use a técnica de API Hooking, ´hookando´ a API [b:62750dbc67]TerminateProcess[/b:62750dbc67].

É mais garantido desta forma e ainda elimina o risco de vc carregar o programa durante a fase de testes e não conseguir fechá-lo mais! Isso já aconteceu comigo.

[]´s


GOSTEI 0
Marco Salles

Marco Salles

13/07/2005

ja testou esta

http://forum.clubedelphi.net/viewtopic.php?t=23183&highlight=fechar+programa+windows

como todos sabemos, o XP esta dificultado o nosso trabalho para bloqueio das combinacoes de teclas q impedem o desligamento do programa...fazendo o meu software (com ajuda de todos aqui) conssegui reunir algumas rotinas q fizeram o devido bloqueio no XP, algumas me passaram, outras conssegui desenvolver ou aprimorar. Entao aqui vai, pra quem possa ajudar, algumas rotinas:


a) COMO BLOQUEAR CTRL+ALT+DEL

procedure DisableTaskMgr(bTF: Boolean); 
    var 
 reg: TRegistry; 
 begin 
reg := TRegistry.Create; 
reg.RootKey := HKEY_CURRENT_USER; 
reg.OpenKey(´Software´, True); 
reg.OpenKey(´Microsoft´, True); 
reg.OpenKey(´Windows´, True); 
reg.OpenKey(´CurrentVersion´, True); 
reg.OpenKey(´Policies´, True); 
reg.OpenKey(´System´, True); 

if bTF = True then 
begin 
reg.WriteString(´DisableTaskMgr´, ´1´); 
end 
else if bTF = False then 
begin 
reg.DeleteValue(´DisableTaskMgr´); 
end; 
reg.CloseKey; 
end; 

$$$EXEMPLO P CHAMAR ROTINA$$$ 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
DisableTaskMgr(True); 
end; 
$$$EXEMPLO P DESTRAVAR$$$ 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
DisableTaskMgr(False); 
end; 



GOSTEI 0
Paullsoftware

Paullsoftware

13/07/2005

a) COMO BLOQUEAR CTRL+ALT+DEL

procedure DisableTaskMgr(bTF: Boolean); 
    var 
 reg: TRegistry; 
 begin 
reg := TRegistry.Create; 
reg.RootKey := HKEY_CURRENT_USER; 
reg.OpenKey(´Software´, True); 
reg.OpenKey(´Microsoft´, True); 
reg.OpenKey(´Windows´, True); 
reg.OpenKey(´CurrentVersion´, True); 
reg.OpenKey(´Policies´, True); 
reg.OpenKey(´System´, True); 

if bTF = True then 
begin 
reg.WriteString(´DisableTaskMgr´, ´1´); 
end 
else if bTF = False then 
begin 
reg.DeleteValue(´DisableTaskMgr´); 
end; 
reg.CloseKey; 
end; 

$$$EXEMPLO P CHAMAR ROTINA$$$ 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
DisableTaskMgr(True); 
end; 
$$$EXEMPLO P DESTRAVAR$$$ 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
DisableTaskMgr(False); 
end; 


nesse caso o código acima serve para bloquear o acesso ao [b:cf0adaebfb]Gerenciador de tarefas[/b:cf0adaebfb], mais se por exemplo o cara ta usando o windows do nada ele trava ou então um outro programa trava e quero apenas finalizar determinado processo, tipo algum antivirus da minha máquina... só consigo fazer isso usando o gerenciador de tarefas...
só citei sua resposta simplesmente pq estou a procurar de uma forma mais eficaz de esconder o programa da lista de processos... ou até mesmo mostrá-lo mais não deixar que finalizem ele como acontece com alguns spywares... :wink:


GOSTEI 0
Marco Salles

Marco Salles

13/07/2005

só citei sua resposta simplesmente pq estou a procurar de uma forma mais eficaz de esconder o programa da lista de processos...


Nun é minha Respposta não e nen minha opinião... Na verdade eu nunca testei o código.. Ele foi passado no tópico abaixo :

http://delphi.about.com/od/windowsshellapi/l/aa022701a.htm

ou até mesmo mostrá-lo mais não deixar que finalizem ele como acontece com alguns spywares..


eu particularmente não concordo muito em BLOQUEAR CTRL+ALT+DEL
pelas razoes citadas por voce... Acho que o segredo é esconder o programa da lista de processos do Windows e também o esconder da Barra De Tarefas....


GOSTEI 0
Marco Salles

Marco Salles

13/07/2005

só citei sua resposta simplesmente pq estou a procurar de uma forma mais eficaz de esconder o programa da lista de processos...


Nun é minha não.. Na verdade eu nunca testei o código.. Ele foi passado no tópico

http://delphi.about.com/od/windowsshellapi/l/aa022701a.htm

ou até mesmo mostrá-lo mais não deixar que finalizem ele como acontece com alguns spywares..


eu particularmente não concordo muito em BLOQUEAR CTRL+ALT+DEL
pelas razoes citas por voce... Acho que o segredo é esconder o programa da lista de processos do Windows e também o esconder da Barra De Tarefas....


GOSTEI 0
Adriano Santos

Adriano Santos

13/07/2005

eu particularmente não concordo muito em BLOQUEAR CTRL+ALT+DEL pelas razoes citas por voce... Acho que o segredo é esconder o programa da lista de processos do Windows e também o esconder da Barra De Tarefas....


Também não concordo com os colegas em bloquear as teclas.
Não quero que o usário veja o programa na lista de processos e nem quero bloquear o CTRL+ALT+DEL.

Olá colega! Uma dica: se sua intenção ao esconder o programa da lista de processos do Windows é impedir que o usuário o feche desta forma, sugiro que vc use a técnica de API Hooking, ´hookando´ a API [b:8b30d120d2]TerminateProcess[/b:8b30d120d2]. É mais garantido desta forma e ainda elimina o risco de vc carregar o programa durante a fase de testes e não conseguir fechá-lo mais! Isso já aconteceu comigo. []´s


Hookar é uma boa alternativa, mesmo que o programa seja mostrado na lista. Mas neste caso, não sei nem por onde começar :D.

valeu


GOSTEI 0
Nildo

Nildo

13/07/2005

Hookar é uma boa alternativa, mesmo que o programa seja mostrado na lista. Mas neste caso, não sei nem por onde começar :D. valeu


Começa indo em http://www.ProjetoBMS.net/ e baixa a BmsApiHook, e alguns exemplos. Feito isso, e estudando os exemplos, você saberá como fazer ;-)

Se não souber, mesmo depois de baixar e ver os exemplos, responde este tópico que eu ajudo. Um abraço


GOSTEI 0
Paullsoftware

Paullsoftware

13/07/2005

[b:d845c380ef]ok Salles não esquenta...[/b:d845c380ef]
é galera eu também não gosto de trabalhar com a ipotese de bloquear tecla, mais se tratando de um sistema para lan-house por exemplo... aqui onde moro a galera tenta de tudo pra quebrar a segurança do sistema, tanto que fui obrigado a criar uma rotina que captura as tentavivas de fraudes tipo: eu uso uma rotina para bloquear o gerenciador de tarefas do windows e quando as teclas são precionadas e mostrado a aviso eu conto 1, tentou novamente conto 2 e assim até 3. Quando chega na terceira vez envio um aviso para o servidor informando que a máquina x está tentando fraudar a segurança do sistema...

[color=blue:d845c380ef]então realmente seria muito mais viável se minha aplicação não fosse mostrada na lista de processos, mais no windows xp é quase que impossível fazer isso.[/color:d845c380ef]


GOSTEI 0
Nildo

Nildo

13/07/2005

[color=blue:8f3dc5ac26]então realmente seria muito mais viável se minha aplicação não fosse mostrada na lista de processos, mais no windows xp é quase que impossível fazer isso.[/color:8f3dc5ac26]


Tão possível quanto facil ;)

O Windows XP disponibiliza APIs para enumeração de processos. Basta hookar essas APIs, e quando aparecer o seu processo, você simplesmente ignora essa etada. Desta maneira seu processo vai estar escondido. Isso é o que chamamos de RootKit.


GOSTEI 0
Adriano Santos

Adriano Santos

13/07/2005

[quote:220676b48c=´PaullSoftware´][color=blue:220676b48c]então realmente seria muito mais viável se minha aplicação não fosse mostrada na lista de processos, mais no windows xp é quase que impossível fazer isso.[/color:220676b48c]


Tão possível quanto facil ;)

O Windows XP disponibiliza APIs para enumeração de processos. Basta hookar essas APIs, e quando aparecer o seu processo, você simplesmente ignora essa etada. Desta maneira seu processo vai estar escondido. Isso é o que chamamos de RootKit.[/quote:220676b48c]


Pow, essa eu quero saber como se faz. Acho que é a solução do problema. Vou dar uma estudada em casa. Baixar seus exemplos e fuçar Nildo.


GOSTEI 0
Paullsoftware

Paullsoftware

13/07/2005

Tão possível quanto facil ;)

O Windows XP disponibiliza APIs para enumeração de processos. Basta hookar essas APIs, e quando aparecer o seu processo, você simplesmente ignora essa etada. Desta maneira seu processo vai estar escondido. Isso é o que chamamos de RootKit.


Eu também vou baixar esse projeto e qq dúvida vou postar no seu fórum... :P


GOSTEI 0
POSTAR