Guest felomenal Postado Janeiro 22, 2005 Denunciar Share Postado Janeiro 22, 2005 Gostaria de que meu programa não aparecesse quando fossem tecladas o Ctrl Alt Del, como eu faria?Como eu solucionaria também, caso um vírus estivesse fechando meu sistema?Ele o fecha sem confirmação sem nada, apenas o fecha... como poderia fazer?[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fredy Postado Janeiro 22, 2005 Denunciar Share Postado Janeiro 22, 2005 Respondendo a sua pergunta 1 Gostaria de que meu programa não aparecesse quando fossem tecladas o Ctrl Alt Del, como eu faria?neste caso depende do programa e de sua função, click iniciar - execultar - msconfig ou altere o conteudo da pasta sytem do windows2 Como eu solucionaria também, caso um vírus estivesse fechando meu sistema?3. Ele o fecha sem confirmação sem nada, apenas o fecha... como poderia fazer?aconselho que você utiliza do ms-dos para restalrar seus sitema, caso não tenha muita pratica pode fzer um coisa simples e eficaz, remover qalqer tipo de virus digite no ms-dos o comando scanreg - escolha exibi backup , por fim escolha um dia antes ou mais do acontecido.Maiores Informações Michel Dourado site Michel Dourado .rg3.netemail michelstudio@ig.com.br Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PASP Postado Janeiro 22, 2005 Denunciar Share Postado Janeiro 22, 2005 2 Como eu solucionaria também, caso um vírus estivesse fechando meu sistema?3. Ele o fecha sem confirmação sem nada, apenas o fecha... como poderia fazer?aconselho que você utiliza do ms-dos para restalrar seus sitema, caso não tenha muita pratica pode fzer um coisa simples e eficaz, remover qalqer tipo de virus digite no ms-dos o comando scanreg - escolha exibi backup , por fim escolha um dia antes ou mais do acontecido.Cara mas quero desenvolver isso no meu programa, por uma função pra impedir que qualquer outro aplicativo, feche meu programa!!Respondendo a sua pergunta 1 Gostaria de que meu programa não aparecesse quando fossem tecladas o Ctrl Alt Del, como eu faria?neste caso depende do programa e de sua função, click iniciar - execultar - msconfig ou altere o conteudo da pasta sytem do windowsNão. Eu já vi um código desses, que voce implementa no seu projeto Delphi... Eu quero soluções e códigos em Delphi!De qualquer forma, Muito Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Janeiro 23, 2005 Denunciar Share Postado Janeiro 23, 2005 Me ajudem ae galera, to precisando demais....:/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 24, 2005 Denunciar Share Postado Janeiro 24, 2005 ME AJUDEM POR FAVOR!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 OSJunior Postado Janeiro 24, 2005 Denunciar Share Postado Janeiro 24, 2005 pra você esconder do ctrl+alt+del: //Kurt22 - Orlando da Silva Junior //orlandosjunior@hotmail.com unit 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. Grato. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 24, 2005 Denunciar Share Postado Janeiro 24, 2005 Quanto a desaparecer do CTRL+ALT+DEL, basta que você registre o seu programa como um serviço. Isso pode ser feito por meio da API RegisterServiceProcess, só que vale ressaltar que isso só valerá para o Win9x, já que a plataforma NT (Win2000/XP/2003) mostra os serviços de forma natural (o que é o correto, aliás). Tentei adaptar o código que uso com essa função, no VB, para o Delphi, só que não pude testar já que estou com o XP aqui. Declare a seguinte função:function RegisterServiceProcess(dwProcessId, dwType: DWORD): DWORD; external 'kernel32.dll'; Depois, chame-a no evento OnLoad do Form principal: RegisterServiceProcess(GetCurrentProcessId(), 1);E veja aí se dá certo.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 24, 2005 Denunciar Share Postado Janeiro 24, 2005 Mas e quanto o virus estar fechando meu prog sem confirmação sem nada? quando ele ativa ele fecha, q q eu poderia estar implementando em meu código pra evitar isso?Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 24, 2005 Denunciar Share Postado Janeiro 24, 2005 Olá, esse programa que fecha o seu deve estar mandando uma msg do tipo wm_Close p/ o handle da sua janela. você pode interceptar essa msg antes de ser processada pelo seu programa. Defina: var Pode_Fechar:Boolean; procedure WndProc(var Msg:TMessage); override; procedure TForm1.WndProc(var Msg:TMessage); begin if (Msg.Msg <> wm_Close) or Pode_Fechar then inherited; end; ps: Ative o flag de Pode_Fechar quando quiser encerrar senão nem você irá conseguir fechar sua janela. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 é bicho nem funcionou... Alguém teria alguma outra solução?Valeu Um Abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 Mesmo assim ele encerra seu programa?você consegue encerrar com a variável Pode_Fechar desativada? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 Sim, fecha o programa sim...:/Me ajuda com alguma outra coisa?Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest hitch Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 não teria um meio de ignorar qualquer mensagem externa recebida pelo programa? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 Olá colega, tente monitorar as msgs.procedure TForm1.WndProc(var Msg:TMessage); var f:TextFile; begin if not FileExists('c:\Log.txt') then begin AssignFile(f, 'c:\Log.txt'); Rewrite(f); CloseFile(f); end; AssignFile(f, 'c:\Log.txt'); Append(f); Writeln(f, IntToStr(Msg.Msg)+' '+IntToStr(Msg.WParam)+' '+IntToStr(Msg.LParam)); CloseFile(f); inherited; // não vá esquecer desta linha porque WndProc é override end; 1-Chame seu programa.2-Chame o programa que fecha o seu.3-Quando seu programa fechar, edite o arquivo Log.txt e poste as 30 últimas linhas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 32 1756 33554433 32 1756 33554433 32 1756 33554433 32 1756 33554433 32 1756 33554433 32 1756 33554433 32 1756 33554433 32 1756 33554433 32 1756 33554433 32 1756 33554433 45076 0 13188108 45075 0 13188108 134 1 0 70 0 7732036 528 513 8585557 33 1284 33619969 45111 0 13464836 16 0 0 24 0 1 24 0 0 70 0 7730500 71 0 7730560 134 0 0 6 0 0 28 0 -1715021 45067 0 0 45081 0 0 2 0 0 128 1 0 130 0 0Essas aí são as últimas 30 Linhas...Valeu Um Abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 A linha 16 0 0 é a msg wm_close que está sendo enviada p/ sua aplicação.Substitua a linha:inherited;por:if Msg.Msg <> WM_Close then inherited;Depois poste as últimas linhas novamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 45076 0 1318810845075 0 1318810832 3468 3355443332 3468 3355443332 3468 3355443332 3468 3355443332 3468 3355443332 3468 3355443332 3468 3355443332 3468 3355443345076 0 1318810845075 0 13188108134 1 070 0 7732036528 513 878218533 3380 3361996945111 0 1341636016 0 024 0 124 0 070 0 773050071 0 7730560134 0 06 0 028 0 -163860145067 0 045081 0 02 0 0128 1 0130 0 0As últimas 30 linhas denovo, valeuuuu, falous! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 if Msg.Msg <> WM_Close then inherited;Com esta instrução acima em WndProc, você consegue fechar sua aplicação ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 sim, executei o programa com esta sintaxe ae, e quando o outro prog. ativou ele ainda fechou meu programa...Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 sim, executei o programa com esta sintaxe ae, e quando o outro prog. ativou ele ainda fechou meu programa...Não é o outro programa, perguntei se você consegue fechar o seu programa com essa instrução. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 27, 2005 Denunciar Share Postado Janeiro 27, 2005 Sim, consigo fechar sim..[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 27, 2005 Denunciar Share Postado Janeiro 27, 2005 Olá, é estranho isso; você consegue fechar sua janela clicando no ícone 'X' da borda superior?Tente colocar no onClose do seu formulário:Action := caNone; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest felomenal Postado Janeiro 29, 2005 Denunciar Share Postado Janeiro 29, 2005 Pow, nem funfou nada :/continua fechando e tudo mais :/me ajudem??!?! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 29, 2005 Denunciar Share Postado Janeiro 29, 2005 Acho que você deve estar fazendo alguma coisa errada, porque quando você coloca:if Msg.Msg <> WM_CLOSE then inherited; em WndProc que é override, significa o seguinte:Todas as msgs exceto WM_CLOSE serão processadas(inherited).Com isto, você não consegue fechar sua janela clicando no 'X' da barra de título. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest felomenal
Gostaria de que meu programa não aparecesse quando fossem tecladas o Ctrl Alt Del, como eu faria?
Como eu solucionaria também, caso um vírus estivesse fechando meu sistema?
Ele o fecha sem confirmação sem nada, apenas o fecha... como poderia fazer?
[]'s
Link para o comentário
Compartilhar em outros sites
23 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.