Tuesday, 31 October 2017

Vb processo iniciar waitforexit


Como usar Process. Start no Visual Basic. NET Por Dan Mabbutt. Visual Basic Expert O método Start do objeto Process é possivelmente uma das ferramentas mais subestimadas disponíveis para você como programador. Como um método. NET, o Start tem uma série de sobrecargas (diferentes conjuntos de parâmetros que determinam exatamente o que o método faz). Nesse caso, as sobrecargas permitem que você especifique qualquer conjunto de parâmetros que você queira passar para outro processo quando ele for iniciado. O que você pode fazer com Process. Start é realmente limitado apenas pelos processos que você pode usar com ele. Continue lendo abaixo Que é dizer, não há nenhum limite desde que mais continuam vindo o tempo todo. Se você deseja exibir seu arquivo 34ReadMe34 baseado em texto no Notepad, ele é tão fácil quanto: Isso pressupõe que o arquivo ReadMe está na mesma pasta que o programa e que o Notepad é o aplicativo padrão para os tipos de arquivo. txt e it39s no ambiente do sistema caminho. Para o VB639ers no público, Process. Start é um pouco como o comando VB6 Shell. No VB6, você poderia usar algo como: lngPID 61 Shell (34MyTextFile. txt34, vbNormalFocus) Você ainda pode chamar o comando Shell no VB. NET, mas eu wouldn39t recomendá-lo. Use Process. Start em vez disso. Você pode usar esse código em vez disso para iniciar o Bloco de Notas maximizado e criar um objeto ProcessStartInfo que você pode usar para controle mais preciso: Dim ProcessProperties As New ProcessStartInfo ProcessProperties. FileName 61 34notepad34 ProcessProperties. Arguments 61 34myTextFile. txt34 ProcessProperties. WindowStyle 61 ProcessWindowStyle. Maximized Dim myProcess Como processo 61 Process. Start (ProcessProperties) Continue lendo abaixo Você pode até mesmo iniciar um processo oculto. ProcessProperties. WindowStyle 61 ProcessWindowStyle. Hidden Mas tenha cuidado. A menos que você adicione mais código para terminar o processo, você provavelmente terá que terminá-lo no Gerenciador de Tarefas. Processos ocultos são normalmente usados ​​apenas com processos que não têm qualquer tipo de interface de usuário. Trabalhando com Process. Start como um objeto. NET dá-lhe um monte de capacidade. Por exemplo, você pode recuperar o nome do processo que foi iniciado. Este código exibirá 34notepad34 na janela de saída: Dim myProcess As Process 61 Process. Start (34MyTextFile. txt34) Console. WriteLine (myProcess. ProcessName) Se você precisar suspender a execução de seu programa até que o processo tenha terminado (algo que você poderia fazer Com código API em VB6), aqui vai você. Console. WriteLine (34Notepad terminou: 34 amp myProcess. ExitTime amplificador Environment. NewLine amp 34Exit Code: 34 amp myProcess. ExitCode) Isso era algo que você não poderia fazer com o comando VB6 Shell porque lançou o novo aplicativo de forma assíncrona. Usando WaitForExit pode causar o problema reverso no. NET porque você tem que iniciar um processo em um novo segmento se você precisar para executar de forma assíncrona. Por exemplo, se você precisar que os componentes permaneçam ativos em um formulário onde um processo foi iniciado e o WaitForExit foi executado. Geralmente, esses componentes não serão ativos. Codifique-o e veja por si mesmo. Uma maneira de forçar o processo a parar é usar o método Kill. Este código aguarda dez segundos e, em seguida, termina o processo. Descobri que um atraso forçado era necessário para permitir que o processo para concluir sair para evitar um erro. MyProcess. WaitForExit (10000) 39 se o processo não termina em 39 10 segundos, mate-o Se não myProcess. HasExited Então myProcess. Kill () End If Threading. Thread. Sleep (1) Console. WriteLine (34Notepad terminou: 34 amp myProcess. ExitTime amp Environment. NewLine amp 34Exit Code: 34 amp myProcess. ExitCode) Na maioria dos casos, provavelmente é uma boa idéia colocar seu processamento em um bloco de uso para garantir que os recursos usados ​​pelo processo são liberados. Usando myProcess Como Processo 61 Novo Processo 39 Seu código é aqui End Usando Para tornar tudo isso ainda mais fácil de trabalhar, existe até um componente Process que você pode adicionar ao seu projeto para que você possa fazer muitas das coisas mostradas acima no design Tempo em vez de tempo de execução. Uma das coisas que isso torna muito mais fácil é codificar eventos gerados pelo processo, como o evento quando o processo saiu. Você também pode adicionar um manipulador usando código como este. 39 permitir que o processo aumente eventos myProcess. EnableRaisingEvents 61 True 39 adicionar um manipulador de evento Exited AddHandler myProcess. Exited, AddressOf Me. ProcessExited Private Sub ProcessExited (ByVal remetente Como Object, ByVal e As System. EventArgs) 39 Seu código vai aqui End Sub Mas simplesmente selecionar o evento para o componente é muito mais fácil. Estou tendo um problema com isso e espero que alguns de vocês podem lançar alguma luz sobre ele para mim O bloco de código: Ive mudou o URL, obviamente, mas isso não é importante. Quando eu tento executá-lo, ele me dá uma exceção na linha quotWaitForExitquot indicando quotNo processo está associado a este objeto. quot Qualquer ajuda aqui seria muito apreciada terça-feira, 19 de outubro de 2010 18:05 Processar nome de arquivo tem que ser arquivo executável 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 terça-feira, 19 de outubro de 2010 18:26 PMProcess. Start com. WaitForExit () Process. Start (executável. exe).WaitForExit () funciona bem, mas quando estou tentando Process. Start (arquivo executável / index. fsh).WaitForExit (), Que precisa iniciar operação dos pequenos i get erro apenas para que você saiba este arquivo executável / index. fsh com o arquivo. bat funciona test. bat e quando eu colocar Process. Start (test. bat).WaitForExit () ele funciona Por algum motivo eu só não sei porque eu não posso usar o arquivo executável / index. fsh apenas como em vb6, ou eu não sei como usá-lo RE: Process. Start com. WaitForExit () esqueceu de mencionar im Visual Basic 2006. RE: Process. Start com. WaitForExit () eu preciso usar Process. Startexe, / process - windows. WaitForExit mas, como eu ESCONDO este processo ele mostra como msdos função em cima do meu app: / RE: Process. Start with. WaitForExit () TipGiver (Programmer) 19 Out 06 12:52 esqueceu de mencionar im Visual Basic 200 6.net usuário Eu acho que há um FAQ por ca8msm () que mostra como iniciar um processo. Também há a opção de ter as janelas ocultas. Dê uma busca. RE: Process. Start com. WaitForExit () TipGiver (Programmer) 19 Out 06 13:01 Err. Eu não posso encontrar esse FAQ. Mas tenho certeza de que existia. Enfim: Dim psi Como Novo System. Diagnostics. ProcessStartInfo psi. CreateNoWindow False psi. WindowStyle ProcessWindowStyle. Hidden psi. WorkingDirectory o diretório psi. FileName o nome do arquivo

No comments:

Post a Comment