Saturday, 10 March 2018

Waitforexit in c #


Sua solução não precisa de AutoResetEvent, mas você pesquisa. Quando você faz pesquisa em vez de usar o evento (quando eles estão disponíveis), então você está usando CPU sem razão e que indicam que você é um programador ruim. Sua solução é realmente ruim quando comparado com o outro usando AutoResetEvent. (Mas eu não te dei -1 porque você tentou ajudar). Ndash Eric Ouellet Nov 7 14 at 18:38 Eu estava tendo o mesmo problema, mas a razão era diferente. No entanto, aconteceria no Windows 8, mas não no Windows 7. A seguinte linha parece ter causado o problema. A solução era NÃO desativar UseShellExecute. Eu agora recebi uma janela popup Shell, que é indesejável, mas muito melhor do que o programa esperando nada particular acontecer. Então eu adicionei o seguinte work-around para que: Agora, a única coisa que me incomoda é por que isso está acontecendo no Windows 8 em primeiro lugar. Respondido Jan 13 15 at 10:35 Exemplo de uso ImplementationWaitForExit () é um método de bloqueio de thread Esta é exatamente a causa do problema. Se WaitForExit é chamado a partir do thread de formulários, irá impedir o formulário de ser redesenhado. Arrastar algo na frente de uma janela bloqueada deixa um traço da janela arrastada. Sugerido como resposta por ahmedilyas Moderador quinta-feira, 28 de julho de 2017 10:34 Marcado como resposta por Jackie-Sun Moderador segunda-feira, 08 de agosto de 2017 6:50 quinta-feira, 28 de julho de 2017 10:18 Código seria melhor e isso Também seria melhor se você puder nos dizer exatamente o que você está tentando alcançar. O WaitForExit () simplesmente aguarda (bloqueia seu código para essa duração) para um processo para sair antes de continuar com a execução de seu código de chamada. C MVP (2007-2018) MS Vendor - MS Todo o caminho Seguidor desde 1995 MS Super Evangelista MSDN Moderador dos Fóruns Proposto 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 Todas as respostas Eu acho que isso não tem relação com waitforexit função. Qual forma você está arrastando. Primeira forma exe ou segunda forma exe. Um pequeno código é apreciado, marcar o meu post como resposta se o meu post foi útil para você quinta-feira, 28 de julho de 2017 9:52 Código seria melhor e também seria melhor se você puder nos dizer exatamente o que você está tentando alcançar . O WaitForExit () simplesmente aguarda (bloqueia seu código para essa duração) para um processo para sair antes de continuar com a execução de seu código de chamada. C MVP (2007-2018) MS Vendor - MS Todo o caminho Seguidor desde 1995 MS Super Evangelista MSDN Moderador dos Fóruns Proposto 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, julho 28, 2017 9:57 AM eu tinha checked. it tem problema em waitforexit () only. i notado que o problema quando se move segunda forma exe Editado por RAJ KUMAR. R quinta-feira, 28 de julho, 2017 10:09 AM quinta-feira, 28 de julho de 2017 10:02 o que exatamente é o problema que você leu minha resposta você também leu o link que eu tinha fornecido WaitForExit () é um método de bloqueio de thread que vai fazer exatamente exatamente isso - espere Para que um processo seja encerrado antes de continuar com seu código. Não fará seu formulário esconder ou minimizar a todos, a menos que você diga seu código para fazer isso antes de chamar WaitForExit () C MVP (2007-2018) MS Vendor - MS Todo o caminho seguidor desde 1995 MS Super Evangelista MSDN Forums Moderador Quinta, July 28, 2017 10:05 Tudo está funcionando bem. mas quando eu mover o formulário, ele mostra vários formulário. Quinta-feira, 28 de julho de 2017 10:09 WaitForExit () é um método de bloqueio de thread Esta é exatamente a causa do problema. Se WaitForExit é chamado a partir do thread de formulários, irá impedir o formulário de ser redesenhado. 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 AM Marcado como resposta por Jackie-Sun Moderador segunda-feira, 08 de agosto de 2017 6:50 AM quinta-feira, 28 de julho de 2017 10:18 quando você diz mostrando várias formas - você está falando de várias instâncias dos formulários ou apenas o desenho / renderização, se é o desenho / renderização, em seguida, sim, como dito antes - é porque ele está esperando para o processo de sair / terminar antes de continuar e é threadblocking tão Você verá o quotproblemquot que você está aparecendo para ser descrevendo. Não há quotfixquot para isso, pois não é um bug ou um problema, mas apenas o que você está usando e como você está usando. Há uma razão pela qual você está usando WaitForExit (). Você tem que mostrar seu formulário quando você está usando WaitForExit () Por que você não esconder ou minimizar o formulário antes de chamar WaitForExit (), em seguida, restaurá-lo afterwords C MVP (2007-2018) MS Vendor - MS Todo o caminho Follower desde 1995 MS Super Evangelist MSDN Forums Moderador quinta-feira, 28 de julho de 2017 10:35 Microsoft está conduzindo uma pesquisa on-line para entender sua opinião sobre o site Msdn. Se você optar por participar, o questionário on-line será apresentado a você quando você deixar o site Msdn. Gostaria de participar Ajude-nos a melhorar o MSDN. Visite a nossa página UserVoice para enviar e votar em ideias Centros de desenvolvimento Recursos de aprendizagem Community Support ProgramsLets ler o que a MSDN diz sobre isso: A sobrecarga WaitForExit () () () é usada para fazer o thread atual esperar até que o processo associado termine. Este método instrui o componente de processo para aguardar uma quantidade infinita de tempo para o processo para sair. Isso pode causar um aplicativo para parar 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 escrito para nunca inserir seu loop de mensagem. Essa 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. Isso é claro para. NET. O que faz você pensar que ele não espera o processo Note para terminar Quais são os sinais de que O que é a prova Sexta-feira, 20 de fevereiro de 2009 20:13 Não tenho certeza se isso mudou recentemente, mas de volta no dia aplicações na janela Móvel nunca realmente fechado quando você bateu o X para fechá-los, eles apenas minimizar e continuar funcionando em segundo plano (este não era um bug, era uma característica, desde a próxima vez que você iniciar o aplicativo seria iniciado muito rápido, yah Eu sei, insano, mas verdade) para que poderia ser por isso WaitForExit é talvez se comportando estranhamente e esperando para a inicialização do aplicativo em vez de sair. Mas, novamente, é apenas especulação baseada em knowlegde de versões antigas do Windows Mobile. Sexta-feira, fevereiro 20, 2009 11:03 PM Id gostaria de colidir esta pergunta. Estou no Windows Mobile 6 Standard e estou tentando gerar uma instância do navegador. Eu gostaria de esperar até o usuário fechar o navegador. Mas WaitForExit retorna extremamente rápido. Aqui está o código: Processo p novo Processo () p. StartInfo. Argumentos quotexample-sitequot p. StartInfo. Verb quotOpenquot p. StartInfo. UseShellExecute falso p. StartInfo. FileName quotIExplore. exequot p. Start () p. WaitForExit () MessageBox. Show (quotNow o navegador deve ser closedquot) Qual deve ser o caminho certo para obter os resultados esperados Segunda-feira, 08 de junho de 2009 22:45 Onde está o símbolo. símbolo. AlexB terça-feira, 09 de junho de 2009 21:58 Im vendo o mesmo problema, mas no XP. Eu acho que a prova pode ser visto em qualquer depurador (como estou vendo), ou em qualquer aplicativo de console (não necessariamente no Mobile) Excepto que você não, em seguida, obter um objeto de processo que você pode usar. Se você tentar Dim myProc como novo processo () myProc Process. Start (quotiexplorandoquot, quotfinance. yahoo/q/hpsquot símbolo) myProc. WaitForExit () ele ainda retorna imediatamente. Quarta-feira, 02 de setembro de 2009 20:48 Problema é que você não está iniciando uma nova instância de iexplore. exe. Você está apenas criando uma nova janela sobre o processo existente. Meu palpite é iexplore. exe começa, vê uma instância anterior e se comunica com a instância anterior para que ele abra a nova janela e, em seguida, esta instância que você iniciou saídas imediatamente. Portanto, o comportamento é correto e esperado. Blog. voidnish quarta-feira, 2 de setembro de 2009 20:52 Microsoft está conduzindo uma pesquisa on-line para entender sua opinião sobre o site Msdn. Se você optar por participar, o questionário on-line será apresentado a você quando você deixar o site Msdn. Você gostaria de participar

No comments:

Post a Comment