Thursday, 5 October 2017

Waitforexit Msdn


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: 00: 19: 19: 19: 19: 19: 19: 22: 22: 22: inputAndOutputToEnd: uma maneira prática de usar redirecionadas de entrada / saída / erro em um p. 82218217 ltparam name8221p8221gtP para redirecionar. Deve ter UseShellExecute definido como false. lt/paramgt 82218217 ltparam name8221StandardInput8221gtEssa string será enviada como entrada para o p. (Deve ser Nothing se não StartInfo. RedirectStandardInput) lt / paramgt 82218217 ltparam name8221StandardOutput8221gt A saída p8217s será coletada nesta seqüência ByRef. (Deve ser nada se não StartInfo. RedirectStandardOutput) lt / paramgt 82.218.217 ltparam name8221StandardError8221gtThe p8217s erro será coletado nessa cadeia ByRef. (Deve ser nada se não StartInfo. RedirectStandardError) função lt / paramgt 82218217 ltremarksgtThis resolve o problema de impasse mencionado no msdn. microsoft/en-us/library/system. diagnostics. p.standardoutput. aspxlt/remarksgt ltRuntimepilerServices. Extension () gt Sub InputAndOutputToEnd (ByVal p Como Diagnostics. Process, ByVal standardInput As string. ByRef StandardOutput As string. ByRef StandardError As string) Se p é nada Então jogue New ArgumentException (8220p deve ser não-null8221) 8216 Suponha p começou. Infelizmente não há maneira de verificar. Se p. StartInfo. UseShellExecute Então jogue New ArgumentException (8220Set StartInfo. UseShellExecute para false8221) Se (p. StartInfo. RedirectStandardInput ltgt (standardInput IsNot Nothing)) Em seguida, jogue New ArgumentException (8220Provide uma entrada não nula somente quando StartInfo. RedirectStandardInput8221) Se (p. StartInfo. RedirectStandardOutput ltgt (StandardOutput IsNot Nothing)) em seguida, jogue New ArgumentException (8220Provide uma saída não-nula somente quando StartInfo. RedirectStandardOutput8221) Se (p. StartInfo. RedirectStandardError ltgt (StandardError IsNot Nothing)) em seguida, jogue New ArgumentException (8220Provide Um erro não nulo somente quando StartInfo. RedirectStandardError8221) Dim outputData como novo InputAndOutputToEndData Dim errorData como novo InputAndOutputToEndData Se p. StartInfo. RedirectStandardOutput Then

No comments:

Post a Comment