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. Respondeu Jan 13 15 at 10:35 Utilização Exemplo ImplementaçãoEstou tendo um problema com isso e espero que alguns de vocês possam lançar alguma luz sobre ele para mim O bloco de código: Eu mudei o URL, obviamente, mas isso não é importante. Quando eu tento executá-lo, ele me dá uma exceção na linha quotWaitForExitquot indicando processo quotNo está associado a este objeto. quot Qualquer ajuda aqui seria muito apreciada Terça-feira, 19 de outubro de 2010 18:05 Respostas Process filename tem que ser executável Arquivo mBoardProcess. StartInfo. Argumentos microsoft / en / us / default. aspx mBoardProcess. StartInfo. FileName quotIEXPLORE. EXEquot CODE CONVERTER SITE Editado por kaymaf Terça-feira, 19 de outubro de 2010 18:32 Marcado como resposta por Frank L. Smith Terça-feira, 19 de outubro de 2010 6: 35 PM Tuesday, October 19, 2010 6:26 PMLets ler o que MSDN diz sobre ele: A sobrecarga WaitForExit () () () é usado para fazer o thread atual esperar até que o processo associado termina. 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 verdadeiro) 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 Process () p. StartInfo. Arguments 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 ela 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, a pesquisa on-line será apresentada a você quando você deixar o site Msdn. Você gostaria de participar
No comments:
Post a Comment