Waitforexit trava fogo


WaitForExit - Não é possível mostrar a barra de progresso Eu tenho um problema para exibir a barra de progresso quando usar o comando. WaitForExit () para aguardar o arquivo de lote em execução. Meu código como abaixo: Imports System. IO Imports System. Text Classe pública Form1 Private Sub Button1Click (PorVal remetente Como System. Object, ByVal e Como System. EventArgs) Lida com Button1. Código. Eu copiei o código aqui e traduzi o código para vb URLit está funcionando bem, mas há um pequeno problema, mas não consigo resolver Aqui está o meu código: SyncClientVB Outra fonte O cenário é. o progresso é relatado por um evento (evento OnCopyingFile) Public Sub OnCopyingFile (ByVal Emissor Como Objeto, ByVal e As CopyingFileEventArgs) Se pbFileTransfer. Value ltgt e. PercentCopied Em seguida, Se txtCurrentFile. Text ltgt e. FilePath Em seguida, txtCurrentFile. Text e. FilePath O problema é que ele está ok quando executado, mas quando eu clico no formulário, ele começa a travar, mas no console. ainda continua. obter a barra de progresso mostrar o progresso do lote em execução em segundo plano Eu tenho dois formulários, quando o usuário seleciona um botão, o segundo formulário é aberto e um executável externo inicia um processo automatizado. O ponto da segunda forma é mostrar apenas o progresso atual das tarefas automatizadas e fechar quando essas tarefas forem concluídas. Como eu usaria uma barra de progresso para mostrar o progresso atual de uma ação em uma forma diferente sem saber por quanto tempo vai demorar No aplicativo I039m atualmente fazendo, eu tenho duas barras de progresso. Um para a tarefa atual que está sendo confirmada e o outro é para o progresso geral. Durante o tempo de execução, eu calculo quantas tarefas estão sendo executadas e configuradas como o máximo. À medida que cada tarefa é concluída, a barra de progresso é incrementada em um. Quero que a barra de progresso da tarefa atual mostre o progresso da tarefa atual. Algumas tarefas podem levar alguns minutos para serem concluídas para que a barra de progresso funcione bem. Mas, se a tarefa é super rápida, como editar as chaves de registro, não vejo nenhum progresso. Quando edito o registro, basicamente é assim: Ele é concluído tão rapidamente que eu nunca vejo a barra sequer se mover. tarefa relata seu nome em um rótulo e ele avança tão rápido que eu só vejo o primeiro nome da tarefa e o último. Existe alguma maneira de fazer isso fazer um trabalho melhor ao relatar o progresso que encontrei em um problema no meu programa muito longo para calcular os valores necessários (cerca de 10 seg). Mas não é esse o problema que você não sabe quando o programa está funcionando ou não, pois ele apenas trava até terminar e eu vejo isso como um problema. Eu preciso ser capaz de mostrar o progresso deste. Eu olhei usando trabalhadores de fundo, mas eu recebo exceção quotObject reference não definida como uma instância-- eu acredito que isso é porque o trabalhador de fundo não pode escrever valores ou algo assim, como funciona será um manipulador normal . Eu quero o meu programa para copiar um arquivo ou dois de uma pasta no diretório do programa para um determinado diretório. Eu também quero uma barra de progresso para isso. Eu não sou muito bom com essas coisas, então não tenho certeza absoluta de por onde começar a fazer isso. Edit: Não tenho certeza se isso é possível com o VB, mas é possível apenas fazer o download para um determinado diretório e mostrar uma barra de progresso eu preciso de ajuda para obter uma barra de progresso para mostrar por cento nele. Eu quero ter o percentual no meio da barra de progresso, como às vezes é visto em alguns programas. Eu pesquisei isso e não consigo encontrar nada. Eu encontrei algo no The CodeProject, mas era apenas um rótulo e desenhando um retângulo por trás dele. Eu gostaria da barra de progresso real que está disponível através da caixa de ferramentas. Eu tenho 1 formulário com a barra de progresso e 4 botões com o seguinte código. Eu gostaria de criar outro formulário que mostra a mesma barra de progresso com o mesmo progresso. Here039s meu código para barra de progresso. O código de carregamento do formulário é: code. Como faço para que essa barra de progresso seja mostrada em outra forma? Se form2.ProgressBar1.Value lt 100 Then ProgressBar1.Value 20 End Se I039m tentar fazer um formulário enquanto um processo em segundo plano está sendo executado. Semelhante a uma barra de progresso, mas não a uma barra de progresso. Nós temos um formulário que tem um gif animado (solicitação do cliente) e isso é tudo. nenhum outro controle. Eles querem que esse formulário seja exibido enquanto o processamento em segundo plano está em execução. Eu tento fazer isso, mas quando a forma de progresso é mostrada a imagem animada não é mostrada e um espaço em branco é mostrado em vez da imagem animada. Como posso fazer isso? Parece que o BW funcionaria, mas não estou entendendo como. I039m feito usando uma validação de dados. usando Liter e Price Ao colocar um Litro e Preço e salvar para acessar o banco de dados. e agora com minha barra de progresso eu quero ler o que eu quero colocar em um litro para mostrar qual é o valor ... Ao colocar um litro. Eu quero saber quantos gases sobraram usando uma barra de progresso. Existe uma maneira fácil de mostrar alguma forma de barra de progresso em seu formulário no ASP. NET que o código está ocupado executando em segundo plano (ou seja, pensando) Como o IE padrão tem a pequena pequena janela no topo que se move quando o seu pensamento eu já fiz isso antes com o Ajax, mas seu monte de trabalho e meu site não é um site habilitado para Ajax. Eu escrevi um programa que faz um pouco de cálculos que leva cerca de 10 minutos para ser concluído, portanto, preciso mostrar um progresso ao usuário. Eu usei uma porcentagem na barra de status para mostrar o status atual do programa. O problema é atualizar o número após cada iteração que eu uso me. refresh para mostrar a porcentagem. MAS sempre que o programa perder o foco, por exemplo, trabalhando em outros materiais, o programa não pode mais atualizar a porcentagem. E acima do formulário mostra não responder, mas fazer o trabalho até obter o resultado. Eu desenvolvi uma tarefa no VB. Eu quero ajuda para desenvolver uma barra de progresso para mostrar uma conclusão da tarefa pelo usuário. Eu sei como fazer progresso bar com o tempo, mas estou procurando barra de progresso no que diz respeito à conclusão da tarefa. E uma vez que a tarefa é finalizada pelo usuário, a tarefa mostrará que a tarefa foi concluída ou que a tarefa deve desaparecer para permitir que o usuário conclua essa tarefa. Eu tenho 1 formulário com a barra de progresso e 4 botões com o seguinte código. Eu gostaria de criar outro formulário que mostre a mesma barra de progresso com o mesmo progresso. Código minha barra de progresso é retardada quando tento mostrar progresso do carregamento da página Private Sub WebBrowser1ProgressChanged (ByVal remetente como objeto, ByVal e como System. Windows. Forms. WebBrowserProgressChangedEventArgs) Identifica WebBrowser1.ProgressChanged Valor de 039-1039 não é válido para 039Value039. 039Valor039 deve estar entre 039minimum039 e 039maximum039. on e. currentprogress Eu estou criando um jogo onde você aperta start e 3 barras de progresso vão a uma velocidade aleatória. Eu estou querendo saber como eu posso mostrar em qual posição cada piloto da barra de progresso está. Como posso fazer isso para quando eu estou digitando na caixa de combinação que mostrará sugestões de URL Como no meu histórico. Como se eu digitasse quotURLquot e google estivesse no meu histórico de combobox, que baixasse a caixa de combinação e mostre-me esse URL Além disso, como posso chegar até onde, quando passar o mouse sobre um link, ele mostrará o link url no meu barra de status Quando eu movo ou copio arquivos, gostaria de saber como mostrar o progresso real da transferência de dados. Algo que eu não entendo é como ao mover ou copiar arquivos para detectar o progresso real da transferência de dados. Eu sempre coloco o movimento / cópia em um trabalhador em segundo plano e isso funciona bem, mas atualmente só posso relatar o status com base em quantos (do total) arquivos foram movidos ou copiados. Eu tentei olhar para o destino e meu pensamento foi para relatar o progresso baseado nos bytes lá, mas isso não funciona porque ele sempre o vê como sendo o tamanho do arquivo completo, mesmo que isso não faça sentido. Na verdade, se você copiar um arquivo usando o Windows Explorer, ele fará a mesma coisa. , embora obviamente ainda esteja transferindo. Como usar os trabalhadores de fundo no meu caso. Enquanto minha web cam está tentando iniciar, quero mostrar uma barra de progresso. Private Sub strcamClick1 (PorVal remetente Como System. Object, ByVal e Como System. EventArgs) Lida com strcam. Click mycam. startCam (PictureBox1.Handle. ToInt32) End Sub Eu tentei muitos métodos para conseguir isso sem qualquer sorte. Eu tentei também application. doevents (). Eu tenho uma imagem gif que mostra um círculo como o da vista. No entanto, quando eu uso o application. doevents (), o círculo é mostrado, mas ele começa a girar apenas quando a web cam é iniciado. Eu não sei o que fazer. Eu preciso de alguma forma para executar duas tarefas ao mesmo tempo. Pode bagroundworkers usado neste caso ou eu preciso fazer outra coisa Eu tenho um formulário e um botão nesse formulário. Quando o usuário clica no botão uma folha de MS-Excel é gerada a partir do MS-Sql Server 2005 e salva em um determinado local Como essa geração de excel leva algum tempo para ser concluída, o que eu quero fazer é mostrar um carregamento da barra de progresso até que toda a planilha seja gerada. Mostrar a barra de progresso ajudará o usuário a entender que a geração do Excel está em processo. Abaixo Meu código para salvar o arquivo ExcelWorkSheetObject. SaveAs (ExcelSheetName) Abaixo do meu código da barra de progresso Eu terei uma caixa de download regular do Internet Explorer e quero que a barra de progresso seja exibida no meu formulário e, se possível, exibida quando o download for concluído. Atributo 2.0 Estou usando o DownloadDataAysnc. Mas o evento ProgressChanged não mostra o progresso até depois que os dados foram baixados. Mesmo quando tento fazer o download de dados contidos em um arquivo grande. Os programas permanecem responsivos, então eu sei que está fazendo alguma coisa. No entanto, é quando o progresso foi concluído que o evento progressChanged é acionado. Eu conheci isso como o progressoChanged e o fogo DownloadDataCompleted imediatamente após o outro. No entanto, eles devem ser uma pausa, pois o arquivo é bem grande. Esse é o snippet de código que estou usando no momento. E a saída abaixo Resultados: Progresso alterado Versão userstate: Version1 progressBar1.Value 100 Eu preciso baixar um. exe do servidor web / ftp e executá-lo. (it039s um programa de instalação) O aplicativo usaria a classe WebClient (provavelmente) para baixar os arquivos e presumivelmente exibiria o progresso para o usuário. Eu preciso baixar um. exe do servidor web / ftp e executá-lo. (it039s um programa de instalação) O aplicativo usaria a classe WebClient (provavelmente) para baixar os arquivos e presumivelmente exibiria o progresso para o usuário. Eu estava procurando uma solução para executar um trabalho demorado (procurando por arquivos nas unidades fixas) sem congelar a interface do usuário, e vi que usar um controle BackGroundWorker é a solução recomendada. O problema é que eu não vejo seu evento ProgressChange sendo acionado: Imports System. IO Imports System. Text. RegularExpressions Public Class Form1 Privado Sub Button1Click (PorVal remetente Como System. Object, ByVal e Como System. EventArgs) Lida com Button1.Click Button1.Enabled Falso Eu estou trabalhando em um projeto em que eu preciso mesclar 2 ou mais arquivos. mas enquanto o programa está sendo executado ou fazendo o trabalho especificado especificado. parece estar parado, o que pode confundir o usuário que o aplicativo não está funcionando ou não está respondendo. então eu quero adicionar uma barra de progresso ou qualquer coisa relacionada para mostrar que o aplicativo ainda está em execução. Alguém pode explicar ou me dizer como adicionar isso no meu programa. você pode me explicar com um programa simples ou algo assim? Eu criei uma caixa de listagem com vários itens que quando um botão é clicado, ele abre o aplicativo que usa esse arquivo e, em seguida, inicia o arquivo. Isso tudo funciona bem, mas eu queria saber se há uma maneira de mostrar uma barra de progresso do tipo letreiro para cada processo como ele está sendo aberto Private Sub Button1Click (PorVal remetente como System. Object, ByVal e como System. EventArgs) lida com Button1.Click If CheckedListBox1.SelectedItem quotITEM ONEquot Then Process. Start (quotc: DIRECTORYITEMONE. exequot) End Se eu tiver um botão que executa um procedimento armazenado quando clico nele. Existe uma maneira de mostrar o progresso na janela enquanto o procedimento armazenado está sendo executado. Eu criei uma caixa de diálogo simples que mostra uma barra de progresso, além de um botão ok. Ele funciona, exceto que o botão "OKOK" não é exibido até que a barra de progresso seja preenchida. Minha caixa de diálogo é nome frmProgress e I039m usando: Existe uma maneira de contornar isso? Tenho um serviço que às vezes chama um arquivo em lotes. O arquivo em lote leva de 5 a 10 segundos para ser executado: O arquivo existe e o código funciona quando eu executo o mesmo código no console. No entanto, quando ele é executado dentro do serviço, ele é desligado em WaitForExit (). Eu tenho que matar o arquivo de lote do processo para continuar. (Estou certo de que o arquivo existe, como posso vê-lo na lista de processos.) Como posso consertar essa interrupção Atualização 1: o código do Kevins permite que eu obtenha saída. Um dos meus arquivos em lote ainda está pendurado. C: EnterpriseDBPostgres8.3binpgdump. exe - i - h localhost-p 5432 - U postgres - f p - a - D - v - fc: backupcasecocherbackupdateevent2008.sql - t public. dateevent DbTest O outro arquivo em lotes é: C: EnterpriseDBPostgres8.3binvacuumdb. exe - U postgres - d DbTest Eu verifiquei o caminho e o caminho postgresql está bem. O diretório de saída existe e ainda funciona fora do serviço. Qualquer atualização de idéias 2: em vez do caminho do arquivo em lotes, eu escrevi o C: EnterpriseDBPostgres8.3binpgdump. exe para o proc. StartInfo. FileName e adicionei todos os parâmetros para proc. StartInfo. Arguments. Os resultados são inalterados, mas vejo o pgdump. exe na janela do processo. Mais uma vez isso só acontece dentro do serviço. Atualização 3: executei o serviço com um usuário no grupo de administradores, sem sucesso. Eu restaurei null para o nome de usuário e senha dos serviços. Atualização 4: Eu criei um serviço simples para gravar um rastreamento no log de eventos e executar um arquivo de lote que contenha dir. Ele será interrompido no proc. Start () - tentei alterar a conta de LocalSystem para User e defini o usuário e a senha do administrador, ainda nada. using System using System. Collections. Generic using System. Linq using System. Text using System. Diagnostics namespace VG string targetDir string. Format (D: adapterssetup) // isto é onde mybatch. bat encontra proc new Process () proc. StartInfo. WorkingDirectory targetDir proc. StartInfo. FileName mybatch. bat proc. StartInfo. Arguments string. Format (10) // este é o argumento proc. StartInfo. CreateNoWindow false proc. Start () proc. WaitForExit () catch (Exceção ex),, ex. Message, ex. StackTrace. ToString ()) respondeu Jan 7 10 at 9:47 O que o arquivo de lote faz Tem certeza de que o processo está sendo iniciado com privilégios suficientes para executar o arquivo de lote Os serviços podem ser limitados naquilo que são permitidos façam. Também verifique se você está fazendo algo como usar o comando copy para sobrescrever um arquivo que você faz algo como: Além disso, verifique se está usando caminhos completos para os comandos em lote, etc. Se o arquivo em lote estiver iniciando um aplicativo GUI em algum tipo de modo Console, isso pode ser um problema também. Lembre-se, os serviços não têm um Desktop (a menos que você habilite a interação com a área de trabalho) para desenhar qualquer tipo de janelas ou caixas de mensagem. Em seu programa, você pode querer abrir os canais stdout e stderr e ler a partir deles durante a execução, caso esteja recebendo alguma mensagem de erro ou algo do tipo. WebServices provavelmente estão executando como a conta IUSR, ou a conta anônima, que sempre, de modo que pode ser um problema para você. Se funcionar quando você o executar no console, isso é apenas o primeiro passo. ) Eu não me lembro se System. Diagnostics. estão disponíveis apenas em depuração ou não. Provavelmente não, mas alguns deles podem ser. Eu tenho que verificar isso para você. Espero que isso te dê algumas ideias. respondeu 11 dez 08 às 21:58 pgdump. exe provavelmente está solicitando a entrada do usuário. Este banco de dados requer autenticação Você está confiando em quaisquer variáveis ​​do MEIO-AMBIENTE que não estarão presentes para o serviço Eu não conheço o pgdump, mas quais são os outros possíveis motivos que solicitaria entrada respondida Dec 12 08 at 15:10 Eu posso fazer este comando a partir do linha de comando do cmd. exe e funciona sem avisar. ndash Patrick Desjardins Dec 12 08 at 15:25 O próximo passo que eu tomaria é iniciar o depurador, e ver se você pode dizer o que o programa está esperando. Se você é expiedenced na depuração em assembly, você pode ser capaz de obter uma idéia do que está acontecendo usando ferramentas como ProcExp, FileMon, etc. Ser um serviço do Windows, e não um serviço da web, faz um pouco de diferença. De qualquer forma, você já tentou a minha sugestão de definir o Permitir Serviço para interagir com a área de trabalho Se você está desesperado, você pode tentar iniciar cmd. exe em vez de seu arquivo de lote. Em seguida, usando os parâmetros da linha cmd. exes cmd, é possível iniciar o arquivo em lote. Isso provavelmente forneceria uma janela de prompt do cmd para exibir a saída real, se você ativar a interação com a área de trabalho. Para obter ajuda completa sobre cmd. exe, basta digitar cmd / em qualquer prompt de comando. Sua solução não precisa de AutoResetEvent, mas você pesquisa. Quando você faz poll em vez de usar event (quando eles estão disponíveis), então você está usando CPU sem motivo e isso indica que você é um mau programador. Sua solução é muito ruim quando comparada com a outra 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, isso aconteceria no Windows 8, mas não no Windows 7. A linha a seguir parece ter causado o problema. A solução foi NÃO desabilitar o UseShellExecute. Eu agora recebi uma janela popup do Shell, que é indesejada, mas muito melhor do que o programa esperando que nada de especial aconteça. Então eu adicionei a seguinte solução para isso: Agora, a única coisa que me incomoda é por que isso está acontecendo no Windows 8 em primeiro lugar. respondeu 13 jan 15 at 10:35 Implementação de exemplo de uso

Комментарии

Популярные сообщения