Tuesday 12 December 2017

Método waitforexit


WaitForExit () é um método de bloqueio de thread. Esta é exatamente a causa do problema. Se WaitForExit for chamado a partir do tópico formulários, ele impedirá que o formulário seja redesenhado novamente. Arrastar algo na frente de uma janela bloqueada deixa um traço da janela arrastada. Proposta como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2017 10:34 Marcado como resposta por Jackie-Sun Moderador segunda-feira, 8 de agosto de 2017 6:50 am quinta-feira, 28 de julho de 2017 10:18 AM O código seria melhor e ele Também seria melhor se você puder nos dizer exatamente o que você está tentando alcançar. WaitForExit () simplesmente espera (bloqueia seu código durante esse período) para que um processo saia antes de continuar com a execução do seu código de chamada. C MVP (2007-2018) MS Vendor - MS Todo o caminho Seguidor desde 1995 MS Super Evangelista MSDN Forums Moderador Proposta como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2017 10:33 Marcado como resposta por Jackie-Sun Moderador segunda-feira, agosto 08 de 2017 6:50 AM quinta-feira, 28 de julho de 2017 9:57 AM Todas as respostas Eu acho que isso não tem relação com a função waitforexit. Que forma você está arrastando. Primeiro formulário exe ou segundo formulário exe. Um código pequeno é apreciado, marque minha postagem como resposta se minha postagem foi útil para você quinta-feira, 28 de julho de 2017 9:52 AM O código seria melhor e também seria melhor se você puder nos dizer exatamente o que você está tentando alcançar . WaitForExit () simplesmente espera (bloqueia seu código durante esse período) para que um processo saia antes de continuar com a execução do seu código de chamada. C MVP (2007-2018) MS Vendor - MS Todo o caminho Seguidor desde 1995 MS Super Evangelista MSDN Forums Moderador Proposta como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2017 10:33 Marcado como resposta por Jackie-Sun Moderador segunda-feira, agosto 08, 2017 6:50 AM quinta-feira, 28 de julho de 2017 9:57 AM eu tinha verificado. Tem problema no waitforexit () only. i percebi esse problema quando mover o segundo formulário exe Editado por RAJ KUMAR. R quinta-feira, 28 de julho, 2017 10:09 AM quinta-feira, 28 de julho de 2017 10:02 AM o que exatamente é o problema você leu minha resposta você também leu o link que eu tinha fornecido WaitForExit () é um método de bloqueio de thread que fará exatamente exatamente isso - espere Para que um processo saia antes de continuar com seu código. NÃO fará o seu formulário se esconder ou minimizar, a menos que você diga seu código para fazer isso antes de ligar para WaitForExit () C MVP (2007-2018) MS Vendor - MS Todo o caminho Seguidor desde 1995 MS Super Evangelist MSDN Forums Moderador Quinta-feira, 28 de julho de 2017 10:05 Tudo está funcionando bem. mas quando eu mudo o formulário, ele mostra uma forma múltipla. Quinta-feira, 28 de julho de 2017 10:09 AM WaitForExit () é um método de bloqueio de thread. Esta é exatamente a causa do problema. Se WaitForExit for chamado a partir do tópico formulários, ele impedirá que o formulário seja redesenhado novamente. Arrastar algo na frente de uma janela bloqueada deixa um traço da janela arrastada. Proposto como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2017 10:34 Marcado como resposta por Jackie-Sun Moderador segunda-feira, 8 de agosto de 2017 6:50 AM quinta-feira, 28 de julho de 2017 10:18 quando você diz mostrando múltiplas formas - você está falando de várias instâncias dos formulários ou apenas do desenho se é o desenho, então sim, como disse antes - é porque está aguardando o processo de saída antes que ele continue e seja threadblocking para que você veja o quotproblemquot você Estão a descrever. Não há quotfixquot para isso, pois não é um bug ou um problema, mas apenas o que você está usando e como você o está usando. Existe uma razão pela qual você está usando WaitForExit (). Você precisa mostrar seu formulário quando você está usando WaitForExit () Por que você não esconde ou minimiza o formulário antes de ligar para WaitForExit (), então restaure-o afterwords C MVP (2007-2018) MS Vendor - MS Todo o caminho Seguidor desde 1995 MS Super Evangelista Moderador dos fóruns MSDN quinta-feira, 28 de julho de 2017 10:35 A Microsoft está realizando uma pesquisa on-line para entender sua opinião sobre o site da Msdn. Se você optar por participar, a pesquisa on-line será apresentada quando você deixar o site Msdn. Você gostaria de participar? Ajude-nos a melhorar o MSDN. Visite a nossa página UserVoice para enviar e votar ideias. Centros Dev. Learning resourcesProcess. WaitForExit Method () WaitForExit () faz o thread atual aguardar até o processo associado terminar. Ele deve ser chamado após todos os outros métodos serem chamados no processo. Para evitar o bloqueio do segmento atual, use o evento Exitado. Esse método instrui o componente Processo a aguardar uma quantidade infinita de tempo para que o processo e os manipuladores de eventos saem. Isso pode fazer com que um aplicativo pare de responder. Por exemplo, se você chamar CloseMainWindow para um processo que tenha uma interface de usuário, a solicitação ao sistema operacional para encerrar o processo associado pode não ser tratada se o processo for gravado para nunca entrar no loop de mensagem. No. NET Framework 3.5 e versões anteriores, a sobrecarga WaitForExit () esperava milissegundos MaxValue (aproximadamente 24 dias), não indefinidamente. Além disso, as versões anteriores não esperaram que os manipuladores de eventos saíssem se o tempo MaxValue completo fosse atingido. Esta sobrecarga garante que todo o processamento foi concluído, incluindo o tratamento de eventos assíncronos para a saída padrão redirecionada. Você deve usar essa sobrecarga após uma chamada para a sobrecarga WaitForExit (Int32) quando a saída padrão foi redirecionada para manipuladores de eventos assíncronos. Quando um processo associado sai (ou seja, quando é desligado pelo sistema de operação através de um término normal ou anormal), o sistema armazena informações administrativas sobre o processo e retorna ao componente que chamou WaitForExit (). O componente Processo pode acessar a informação, que inclui o ExitTime. Usando o Handle para o processo encerrado. Como o processo associado saiu, a propriedade Handle do componente já não aponta para um recurso de processo existente. Em vez disso, o identificador pode ser usado apenas para acessar a informação dos sistemas operacionais sobre o recurso do processo. O sistema está ciente de alças para processos encerrados que não foram lançados pelos componentes do Processo, por isso mantém as informações ExitTime e Handle na memória até que o componente Processo liberte especificamente os recursos. Por esse motivo, sempre que você ligar a instância do Start for a Process, chame Close quando o processo associado for encerrado e você não precisa mais de informações administrativas sobre isso. Fechar libera a memória alocada para o processo encerrado.

No comments:

Post a Comment