Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 20 de Julho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
44 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Como criar um gerenciador para sua rede.
Publicado por Admin : Segunda, Janeiro 24, 2005 - 03:44 GMT-3 (18146 leituras)
Comentários 14 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Para criarmos um programa que “gerencie” a nossa rede, seja tanto em caso como no trabalho, temos que criar dois programas: um programa servidor, que ficará nas máquinas que queremos controlar; e um programa cliente, que irá rodar na máquina que queremos usar para controlar os outros computadores.
Primeiramente, devemos criar o programa servidor. Nele colocaremos os componentes ClientSocket (Internet) e NMMsgServ (FastNet). Logo após iremos clicar no menu Project/View Source. Nos será mostrado o código base da aplicação. Devemos colocar o seguinte comando após o begin:

Application.ShowMainForm:=False;

Isso serve para que quando a aplicação seja iniciada, ela não mostre o form principal, ficando invisível ao usuário que estará utilizando o computador. Depois, devemos mudar a propriedade Port do componente NMMsgServ para a porta que você quiser, ou deixar com está (6711). Você deve mudar se existir outro programa usando esta porta ou um firewall bloqueando-a. No meu caso, deixei como 6711.

Agora, no evento OnMSG, devemos colocar o que o programa deve fazer       quando receber determinada mensagem. Nesse exemplo, ao receber a mensagem “desligar”, ele irá desligar o computador. Colocarei o comando que é usado para desligar o Windows 98, mas você pode perfeitamente colocar aquela procedure que server para desligar qualquer Windows, só não coloco aqui porque ela é muito grande.

if sMsg = 'desligar' then
           begin
           WinExec('C:\Windows\rundll32.exe user.exe,exitwindows',sw_hide);
         end;

Ou seja, quando a mensagem “desligar” for enviada para o programa ele irá desligar o Windows 98. Você pode fazer isso e colocar um else depois e fazer com que o programa aceite outros comandos, como por exemplo:

if sMsg = 'desligar' then
            begin
            WinExec('C:\Windows\rundll32.exe user.exe,exitwindows',sw_hide);
          end
           else
         if sMsg = 'monitor' then
           
begin
            DesligaMonitor(True);
          end;

Então ele irá desligar o monitor quando receber a mensagem “monitor”. Claro que do jeito que está neste exemplo, a procedure DesligaMonitor deve estar declarada antes.

Depois de colocar todas as suas funções e procedures, você pode colocar no evento OnCreate do form, um procedure que coloque seu programa no registro para iniciar junto com o Windows ou pode colocar ele como uma tarefa agendada do Windows, para que ele inicie com o Windows.

Agora, temos que criar o programa cliente, para que possamos gerenciar nossos computadores. Crie uma nova aplicação, com os componentes ClientSocket (Internet) e NMMsg (FastNet). Não esqueça de mudar a porta para a que você configurou no servidor. Se você não mudou no servidor, também não precisa mudar no cliente, pois já vai estar com 6711. Agora, coloque um Edit, um Label e um Button. No Caption do Label, coloque “Host” e no Caption do Button coloque “Conectar”. No botão Conectar, coloque o seguinte código:

procedure TForm1.Button1Click(Sender: TObject);
         var
           
comp:string;
         begin
             
comp:=Edit1.Text;
            NMMsg1.Host:=comp;
            try
               NMMsg1.Connect;
               ShowMessage('Conectado.');
             except
               ShowMessage('Erro ao Conectar.');
             end;
        end;

Para funcionar, você deve colocar o IP ou o nome de Host do computador que quer controlar e depois clicar em “Conectar”. Se a conexão for possível, irá aparecer uma mensagem dizendo “Conectado”, caso contrário irá dar erro. Agora estou conectado e daí? Agora, vamos colocar um outro botão e alterar o seu Caption para “Desligar”. No código do botão, coloque:

if NMMsg1.Connected=True then
            NMMsg1.Disconnect;
         NMMsg1.PostIt('desligar');
         NMMsg1.Connect;

Ou seja, quando você conectar e clicar em “desligar”, o computador a que você está conectado irá desligar. Podemos colocar outro botão com o código e trocar o “desligar” por “monitor”, então o monitor do computador seria desligado.

Outra coisa interessante é que podemos fazer um cliente mais aperfeiçoado, por exemplo, que mande estes comandos para uma faixa de IPs e assim, desligar vários computadores ou desligar os monitores de todos eles. Isso é interessante em empresas ou até mesmo em casa quando se quer enconomizar um pouco de energia e configurar o programa para que mande o comando de desligar o monitor para todos os computadores na rede ao meio-dia, para economizar na energia gasta por eles e configurar para que no fim no expediente (as 7:00 por exemplo), ele mande o comando de desligar o computador para os PCs da rede, evitando que algum fique ligado e que alguém tenha que ver se todos estão desligados, poupando energia e esforços.

Observação: Por: Renan Valente Rangel



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: Airam : Jan 26, 2005 - 11:36
(Informações sobre o membro | Enviar uma mensagem)
Renan é uma idéia muito boa! Vc não teria como me enviar via e-mail um passo-a-passo para desenvolver este software. É que sou MUITO inexperiente! Algumas coisas eu consigo entender, mas tem algumas que não sei como fazer! Se vc puder me ajudar meu e-mail é airam_costa@ibest.com.br Ficarei muito grato!


por: RobertoCAN : Jan 27, 2005 - 05:34
(Informações sobre o membro | Enviar uma mensagem) http://
super interessante o tópico.
porém, esta aba fastnet está disponivel para delphi7


por: Lokinet : Jan 29, 2005 - 12:52
(Informações sobre o membro | Enviar uma mensagem) http://
Muito interessante, principalmente a filosofia de desligar os PCs da empresa no fim do expediente.


por: uderson : Fev 11, 2005 - 12:45
(Informações sobre o membro | Enviar uma mensagem)
Boa tarde não consegui encontrar estes componentes no delph7 porque, se vc puder me detalhar mais este artigo e me dar a dica de como posso em contrar este componente agradeço des de ja pois trabalho em um laboratorio de imformatica aqui na facu e gotaria de fazer este programa como minha mão ClientSocket (Internet) e NMMsgServ (FastNet)


por: uderson : Fev 16, 2005 - 12:58
(Informações sobre o membro | Enviar uma mensagem)
Por favor prscifo desta dica mas não encontro o componete NMMsgServ (FastNet tenho delphi7.0


por: bylindoso : Fev 28, 2005 - 01:29
(Informações sobre o membro | Enviar uma mensagem)
Olha, achei muito legal sua idéia! Mas gostaria de saber se vc sabe tbm com eu faço pra bloquear o CTRL e o ALT no Windows XP usando Delphi 7?! To fazendo um programa pra gerenciar as máquinas do trabalho e não acho a referência da API do Windows XP! Estou usando a Function SystemParametersInfo(), mas até agora não achei a referência do XP para essas teclas! Sei que a do Windows 98 é "97"! Se puder me ajudar... Obrigado!


por: Jehuel : Jun 04, 2005 - 05:55
(Informações sobre o membro | Enviar uma mensagem) http://
Muito bom mas como faço isso com o Delphi 7 e tmb gostaria de ter mais detalhes arrespeito ou um tutorial desse artigo


por: RVR777 : Ago 14, 2005 - 04:29
(Informações sobre o membro | Enviar uma mensagem)
Venho aqui postar, dizendo que estes componentes se encontrar na aba FastNet do Delphi 5, onde foi testado. Quanto ao Delphi 7, ainda não o usei, mas creio que deve haver algum componente semelhante. Quando eu comprar o Delphi 7, farei outro artigo, explicando mais a fundo uma implementação desse gerenciador.


por: bruno.prestes : Set 05, 2005 - 01:20
(Informações sobre o membro | Enviar uma mensagem)
cara não consigo encontrar o componete NMMsgServ (Fastnet) no meu delphi 7 será que eu posso desenvolver esse sistema nele??? desde já agradeço as ajudas!!!


por: Kairos : Set 26, 2005 - 12:41
(Informações sobre o membro | Enviar uma mensagem) http://http://
Renam não acho estes componentes no meu delphi 7,poderia me ajudar, pois gosteis muito da sua dica e gostaria de usa-la.


por: fernando.s : Out 26, 2005 - 10:24
(Informações sobre o membro | Enviar uma mensagem)
Bom dia Renan...
Eu estava tentando fazer seu programa... mas infelizmente nao consegui, gostaria que vc me enviosse mairores detalhes da sua aplicacao, pois nao achei muitos de seus utilitarios... se possivel me responder ou por enviar por email mais detalhes sobre sua aplicacao eu agradeceria... email: fernandosette@yahoo.com.br
Obrigado
teh mais


por: kennergrings : Abr 05, 2006 - 10:24
(Informações sobre o membro | Enviar uma mensagem)
e ae cara.....quero saber se você pode me passar o codigo pra desligar qualquer windows.....e se possivel mais algumas funcoes pequenas pra roda nesse programa ai.....vlw..me made se possivel para kenner_grings@yahoo.com.br muito obrigado.....vai ser muito util....flw
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados