Waitforexit msdn


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 nossa página UserVoice para enviar e votar ideias. Centros Dev. Recursos de aprendizagemSystem. Diagnostics. Process: redirecionamento StandardInput, StandardOutput, StandardError 82218217 InputAndOutputToEnd: uma maneira prática de usar o inputoutputerror redirecionado em uma p. 82218217 ltparam name8221p8221gtThe p para redirecionar. Deve ter UseShellExecute definido como false. ltparamgt 82218217 ltparam name8221StandardInput8221gtEsta seqüência será enviada como entrada para a p. (Deve ser Nothing if not StartInfo. RedirectStandardInput) ltparamgt 82218217 ltparam name8221StandardOutput8221gtA saída p8217s será coletada nesta string ByRef. (Deve ser Nothing if not StartInfo. RedirectStandardOutput) ltparamgt 82218217 ltparam name8221StandardError8221gt O erro p8217s será coletado nesta string ByRef. (Deve ser Nothing if not StartInfo. RedirectStandardError) ltparamgt 82218217 ltremarksgt Esta função resolve o problema de deadlock mencionado em msdn. microsoften-uslibrarysystem. diagnostics. p.standardoutput. aspxltremarksgt ltRuntimepilerServices. Extension () gt Sub InputAndOutputToEnd (ByVal p As Diagnostics. Process, ByVal StandardInput As String. ByRef StandardOutput As String. ByRef StandardError As String) Se p is Nothing, então, lance New ArgumentException (8220p deve ser não-null8221) 8216 Suponha que p tenha começado. Infelizmente, não há como verificar. Se p. StartInfo. UseShellExecute, então, lança Nova ArgumentException (8220Set StartInfo. UseShellExecute to false8221) Se (p. StartInfo. RedirectStandardInput ltgt (StandardInput IsNot Nothing)), então, lança New ArgumentException (8220Provide uma entrada não-nula somente quando StartInfo. RedirectStandardInput8221) If (P. StartInfo. RedirectStandardOutput ltgt (StandardOutput IsNot Nothing)) Então, lança New ArgumentException (8220Provide uma saída não nula somente quando StartInfo. RedirectStandardOutput8221) Se (p. StartInfo. RedirectStandardError ltgt (StandardError IsNot Nothing)), então, lança New ArgumentException (8220Provide Um erro não nulo apenas quando StartInfo. RedirectStandardError8221) Dim outputData como novo InputAndOutputToEndData Dim errorData como novo InputAndOutputToEndData Se p. StartInfo. RedirectStandardOutput Then

Comments

Popular Posts