cleberrodrigues Postado Abril 9, 2007 Denunciar Share Postado Abril 9, 2007 OLÁ, ESTOU INICIANDO EM C, GOSTARIA DE SABER COMO PODERIA FAZER PARA UM PROGRAMA NÃO FECHAR, ISTO É, ELE ESTEJA SEMPRE SENDO EXECUTADO NA MEMÓRIA , EM PROCESSOS NO WINDOWS.O PROGRAMA DEVE SABER SE UMA MÁQUINA ESTÁ LOGADA.JÁ ESTÁ PRONTO A PARTE QUE DE 5 EM 5 SEGUNDOS ELE DÁ UM PING, MAS O USUARIO DA MÁQUINA NÃO DEVERÁ FECHA-LO.alguém ME AJUDE.ATENCIOSAMENTE. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe Pedroso Postado Abril 9, 2007 Denunciar Share Postado Abril 9, 2007 Essa é rápida... Faça isso dentro da main:while(1){ <seu código> system("ping IP-ADDRESS"); }Pode parecer idiota, mas fununcia. Aí você coloca uma thread em paralelo fazendo tudo que você quer.... =PSe fosse em VB eu até poderia te ajudar melhor... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleberrodrigues Postado Abril 10, 2007 Autor Denunciar Share Postado Abril 10, 2007 FELIPE, VALEU MAS O PING JÁ está FUMEGANDO O QUE PRECISAVA E NÃO ESTOU ACHANDO NA NET É:COMO DEVOLVER ALGUM VALOR APÓS O PING, PARA O SISTEMA SABER SE O CLIENTE TÁ LOGADO OU NÃO JÁ TENTEI O SYSTEM() E NUM DEU.E PRINCIPALMENTE É COMO O PROGRAMA NUNCA FECHAR, SEMPRE FIQUE SENDO EXECUTADO NA MEMORIA MAS SEM O USUARIO DA MÁQUINA PERCEBER. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe Pedroso Postado Abril 10, 2007 Denunciar Share Postado Abril 10, 2007 O funcionamento infinito você garante com o while(1){}.Agora para ver se o cliente está logado acredito que você tenha que implementar algo com sockets... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleberrodrigues Postado Abril 10, 2007 Autor Denunciar Share Postado Abril 10, 2007 SEGUINTE ACHO QUE TALVEZ NÃO ESTEJA ME EXPRESSANDO DIREITO:VOU EXPLICAR O QUE É ESTE SISTEMA.O SISTEMA VAI DIVIDIR PROCESSAMENTO ENTRE VÁRIAS MÁQUINAS E PARA ISTO O SERVIDOR PRECISA SABER SE A MÁQUINA está ON-LINE OU NÃO. PARA ISTO OCORRER EM CADA MAQUINA SERÁ INSTALADO O PROGRAMA QUE FAZ UM PING PARA VERIFICAR SE A MÁQUINA está ON-LINE SE TIVER ELA VAI PROCESSAR JUNTO COM AS OUTRAS.PARA QUE NÃO DE PROBLEMAS O PROGRAMA DEVE INICIAR COM O WINDOWS E FICA ABERTO SOMENTE NA MEMORIA ELE NÃO PODERÁ APARECER NA BARRA DE TAREFAS E SE O USUARIO ACHAR O PROGRAMA E CLICAR NO X DE FECHAR A JANELA ELE NÃO FECHARÁ, RETORNARIA PARA SER EXECUTADO NA MEMORIA E NADA APARETENTE.POIS SE O PROGRAMA FOR FECHADO O SERVIDOR NÃO SABERÁ SE ESTA MÁQUINA está ON-LINE OU NÃO E FALTARÁ UM PEDAÇO NO PROCESSO, O PROGRAMA AVISANDO O SERVIDOR QUE O PING NÃO RETORNOU ALGO ELE MANDA O PROCESSAMENTO DESTINADO A ESTA MÁQUINA PARA OUTRA. É MAIS OU MENOS ISTO.SE alguém PUDER ME AJUDARFICARIA ETERNAMENTE GRATO.ATT. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe Pedroso Postado Abril 10, 2007 Denunciar Share Postado Abril 10, 2007 Se você tem urgência, faça em VB... No Silicio tem algums exemplos de como fazer essas coisas para o usuário não fechar e tals...Caso não sirva o VB veja pelo menos as API que o VB usa para você importar para o C.Obs.: desliga o capslock. Eu acho desagradável ler um texto desse tamanho todo em maiúsculo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleberrodrigues Postado Abril 10, 2007 Autor Denunciar Share Postado Abril 10, 2007 Valeu pela ajuda...Vou dar uma olhada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleberrodrigues Postado Abril 16, 2007 Autor Denunciar Share Postado Abril 16, 2007 POis é pessoal não encontrei nada referente a isto .........................Será que algume sabe, tá dificil !!!!!!!!!!!!!!!!!111 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Abril 16, 2007 Denunciar Share Postado Abril 16, 2007 O Linux tem controle de processo por usuário, ou seja, apenas quem iniciou o processo pode fecha-lo além do superusuário.O windows eu não sei te dizer, isso é um problema de sistema operacional e não de programação.Procure saber: Se voce iniciar o processo como Administrador os usuários comuns poderão parar seu processo?se sim, use Linux :rolleyes: essa foi boa. huauhauhause não pode usar o windows mesmo.COMO DEVOLVER ALGUM VALOR APÓS O PING, PARA O SISTEMA SABER SE O CLIENTE TÁ LOGADO OU NÃO JÁ TENTEI O SYSTEM() E NUM DEU.da certo sim, o system retorna "0", se não me engano, caso o comando seja executado com sucesso. ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleberrodrigues Postado Abril 17, 2007 Autor Denunciar Share Postado Abril 17, 2007 Pois é, vou ver se consigo uma versão Visual C++, derrepente haja alguma função tipo hide. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe Pedroso Postado Abril 17, 2007 Denunciar Share Postado Abril 17, 2007 Só uma coisa: VB Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleberrodrigues Postado Abril 18, 2007 Autor Denunciar Share Postado Abril 18, 2007 É o seguinte já tem um programa rodando em vb com este esquema, só que o chefe quer trocar para C pois o vb está dando muito problema em relação a Dll, e em C ele rodará tanto em Linux quanto em Windows.falo. :unsure: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
cleberrodrigues
OLÁ, ESTOU INICIANDO EM C,
GOSTARIA DE SABER COMO PODERIA FAZER PARA UM PROGRAMA NÃO FECHAR, ISTO É, ELE ESTEJA SEMPRE SENDO EXECUTADO NA MEMÓRIA , EM PROCESSOS NO WINDOWS.
O PROGRAMA DEVE SABER SE UMA MÁQUINA ESTÁ LOGADA.
JÁ ESTÁ PRONTO A PARTE QUE DE 5 EM 5 SEGUNDOS ELE DÁ UM PING, MAS O USUARIO DA MÁQUINA NÃO DEVERÁ FECHA-LO.
alguém ME AJUDE.
ATENCIOSAMENTE.
Link para o comentário
Compartilhar em outros sites
11 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.