Tuesday, 10 April 2018

Nenhum processo está associado a este objeto waitforexit


Nenhum processo está associado a este objeto waitforexit
Obter através da App Store Leia esta publicação em nosso aplicativo!
Por que Process. WaitForExit lançaria um & quot; no process & quot; exceção mesmo quando existe um processo?
Eu tenho um serviço do Windows contendo este código:
A finalidade deste código é executar um extrato IFilter em um documento, usamos um processo separado porque alguns IFilters são notoriamente escamosos.
Agora, este código corre perfeitamente bem nas caixas do Windows 7 e do Server 2008 R2, mas em um Windows Server 2003 o WaitForExit imediatamente lança uma exceção "Não há nenhum processo associado a este objeto Processo". O processo existe e completa sua tarefa sem problema.
Alguém viu isso? Alguém pode esclarecer porque o WaitForExit aumentaria esse erro?
Se eu colocar este código em um aplicativo de console e executá-lo também funciona bem na caixa do Windws Server 2003, portanto, parece ser um problema específico ao executar isso em um serviço em uma caixa do Windows Server 2003.
Ao iniciar os processos, com a classe System. Diagnostics. Process, o sistema pode usar a função CreateProcess ou ShellExecuteEx Win32. Ao usar CreateProcess, somente arquivos executáveis ​​podem ser iniciados. Ao usar o ShellExecuteEx, qualquer arquivo que possa ser iniciado usando o comando "Iniciar-> Executar" do shell.
No entanto, estas são formas completamente diferentes de iniciar processos. ShellExecuteEx envolve o shell e pode, por exemplo, reutilizar uma instância existente do Word ou do Excel para abrir um documento, usando as informações armazenadas no HKCR \ & lt; progid & gt; \ shell \ & lt; verb & gt; Chave do registro. Isso pode envolver, por exemplo, usando o DDE para procurar e ativar uma instância do Excel existente.
Consulte a documentação sobre SHELLEXECUTEINFO do ShellExecuteEx:
Observe que ShellExecuteEx pode ou não retornar um hProcess dependendo se um novo processo foi iniciado. Este é o comportamento que você está vendo.
CreateProcess é uma função de nível inferior e cria um processo diretamente, e simplesmente passa os argumentos equivalentes. Ele sempre retorna um identificador de processo.
Nota: Como você parece estar iniciando um arquivo executável, é um pouco surpreendente que nenhum hProcess seja retornado pelo ShellExecuteEx. No entanto, se você quiser garantir que você obtenha um identificador de processo, usar UseShellExecute = false é a coisa correta a fazer.

Nenhum processo está associado a este objeto waitforexit
Obter através da App Store Leia esta publicação em nosso aplicativo!
Process. WaitForExit () causa uma NullReferenceException.
O código a seguir causa uma NullReferenceException.
Usando o depurador eu vejo que Process. Start está retornando nulo. Então ... qualquer pensamento sobre porque isso está acontecendo? Gostaria realmente de bloquear a execução do programa até o usuário terminar com o processo iniciado.
UPDATE: Refatorando o código para isso:
causa esta exceção:
InvalidOperationException: Nenhum processo está associado a este objeto.
Do MSDN, Process. Start retornará:
Um novo componente do Processo que está associado ao recurso de processo ou a referência nula (Nothing no Visual Basic), se nenhum recurso de processo for iniciado (por exemplo, se um processo existente for reutilizado).
No seu caso, já que você está passando um URL para Process. Start em vez de um executável, você não está realmente iniciando um novo processo. Você está passando o URL para iexplore, ou qualquer que seja o seu navegador. E então você obtém uma volta nula.
Em qualquer caso, o que significaria "bloquear a execução do programa até o usuário terminar com o processo iniciado"? Aguarde até que o usuário feche o navegador da Web? Nesse caso, você pode querer algo como:
. que funciona adequadamente para mim. Exige que você especifique o executável do navegador, no entanto.

Nenhum processo está associado a este objeto waitforexit
System. Diagnostics. Process SetupGUIProcess = novo System. Diagnostics. Process ();
SetupGUIProcess. StartInfo = novo System. Diagnostics. ProcessStartInfo (strStartMenuPath + & quot; \\ Programas \\ AXYZ International \\ A2MC Setup. appref-ms & quot;);
Quando o programa chega à linha WaitForExit, ele causa uma exceção "Nenhum processo está associado a este objeto". O processo começa ok. Estou tentando obter o segmento de chamada para bloquear até que o processo seja encerrado. Esse é o caminho certo?
2. Aguarde até que o aplicativo termine de instalar usando Process. WaitOne.
3. Inicie o Executeable como outro Processo (// exe) instalado recentemente.
4. WaitForProcess (); (// processo do Executeable Name).
Marcado como resposta por Bin-ze Zhao segunda-feira, 05 de outubro de 2009 8:16.
Todas as respostas.
Eu sei com certeza que o processo ainda está sendo executado no momento em que WaitForExit é chamado. Eu percebi que estou iniciando o processo por meio de uma referência clickonce. Eu tentei isso em todas as diferentes maneiras pelas quais você pode iniciar um processo e ocorre a mesma exceção. Se eu começar o processo apenas passando o caminho para iniciar (). o começo retorna nulo. Existe outra maneira de iniciar um aplicativo que é instalado por um escudo de instalação clickonce outro que por referência? Eu estaria interessado em ver se eu poderia chamar o exe diretamente. Talvez então a função WaitForExit conheça o objeto do processo. Isso é intrigante. Obrigado pela resposta.
Os aplicativos ClickOnce são lançados usando uma URL para o arquivo de manifesto de implantação (.application). Então você usa a sintaxe do parâmetro querystring da web:
Eu não tenho um servidor. Eu só quero enviar pessoas 2 instalando sheilds zipped up. Eles os instalam. e um dos programas instalados pode chamar o outro como um processo e depois bloquear e aguardar até que seja feito. Ainda não está claro para mim o que eu tenho que fazer para que eu possa chamar o programa usando a sintaxe acima. Preciso de um sever para fazer isso? Quando você diz, pare de usar o ClickOnce. Você quer dizer parar de chamá-lo por sua referência ou quer dizer parar de usá-lo e usar algum outro método de reprodução? Eu acho que realmente não entendo o que o Click Once significa. O termo Click Once simplesmente encapsula o significado de todas as blindagens de instalação por meio da opção de publicação no Visual Studio? Espero que você veja com o que estou lutando. Tem que haver algo simples aqui, estou faltando.
Eu concordo totalmente com o NoBugz (que muito provavelmente entende isso melhor do que eu). Então, vamos pensar sobre isso você e eu. Quando você visita um URL, não inicia um processo ao vivo. Você solicita ao servidor alguns dados e retorna alguns dados e, em seguida, seu fora de sua vida. Não existe um estado persistente como um processo ao qual você pode acessar. Você está tentando usar um aplicativo ClickOnce que usa um URL, então, claro, não há nenhum processo devido exatamente ao que acabei de passar. Pare de usar o ClickOnce.
Crie um aplicativo instalável como esse.
Ligue assim.
Espere por isso assim.
Não concordo que as postagens estão se desviando da sua pergunta. Seu exemplo usa ClickOnce, o único problema que sua experiência é devido ao fato de você estar usando o ClickOnce. É por isso que as pessoas dizem. "pare de usar o ClickOnce". Talvez você não entenda o que o ClickOnce é vs um executável? Este é um exemplo muito simples de exatamente o que você está tentando fazer sem um clique.
Mais uma vez obrigado pela resposta.
1. O clique é uma referência que faz referência a um exe? Gostaria de chamar o exe. Eu simplesmente não consigo encontrar em qualquer lugar no sistema que foi iniciado. Existe um caminho específico onde é colocado quando um clique de publicação clique em um escudo de instalação é executado?
Mais uma vez obrigado pela resposta.
1. O clique é uma referência que faz referência a um exe? Gostaria de chamar o exe. Eu simplesmente não consigo encontrar em qualquer lugar no sistema que foi iniciado. Existe um caminho específico onde é colocado quando um clique de publicação clique em um escudo de instalação é executado?
Há um problema lógico com suas perguntas.
Se você precisa instalar o pacote, você não possui o código-fonte (é por isso que eu assumiria que você continuasse tentando usar um clique), então você está essencialmente morto na água com seus requisitos. Nenhuma fonte = falha épica.
Desculpe, homem, não entendi. Vamos passo passo a passo.
1. Vamos assumir que você sabia onde estava o exe. Você o lançou com um processo. De acordo com o número 2, existem dependências, portanto, seu programa explode. Como você conserta isso? Você precisa instalar o programa antes de tentar executar o exe.
Suponhamos que não sei onde o exe é (porque eu não) porque não parece haver um depois de instalar o botão uma vez instalado o escudo. Se houver outra maneira de criar uma estrutura de instalação para que eu tenha acesso a uma exe. Você pode fornecer o link para a documentação que mostra como fazê-lo?
Eu tenho o arquivo de solução do programa original para o visual studio desde que eu sou o autor. Se eu criei um pacote de instalação do MSI e o descarte como um arquivo MSI, como você diz, então eu poderei chamar o exe up como processo? Onde será localizado? Você pode fornecer o link para a documentação sobre como criar o MSI se ele for instalado um exe?
Se você precisa instalar o pacote, você não possui o código-fonte (é por isso que eu assumiria que você continuasse tentando usar um clique), então você está essencialmente morto na água com seus requisitos. Nenhuma fonte = falha épica.
2. Aguarde até que o aplicativo termine de instalar usando Process. WaitOne.
3. Inicie o Executeable como outro Processo (// exe) instalado recentemente.
4. WaitForProcess (); (// processo do Executeable Name).
Marcado como resposta por Bin-ze Zhao segunda-feira, 05 de outubro de 2009 8:16.
A Microsoft está conduzindo 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.

WaitForExit: nenhum processo está associado a este objeto.
Fóruns de Programação e Desenvolvimento Web - VB - Tecnologia Microsoft.
WaitForExit: nenhum processo está associado a este objeto.
Links patrocinados.
Por que é que o VB5 tem tantas maneiras fáceis de obter uma classe HTMLDocument preenchida com informações em um site: controle do WebBrowser e / ou MSHTML. createDocumentFromUrl. mas em VB6 parece não haver nada que funcione mais ?? Eu quero usar as propriedades document. links e document. images da classe HTMLDocument para enumerar rapidamente através das informações de um site, mas não consigo que nenhum desses métodos legados funcione em um aplicativo em VB6. Ah, e eu não quero ter um aplicativo com um controle WebBrowser visível (por algum motivo, se a propriedade. visible for falsa, então o objeto do documento não será preenchido). Alguém com uma sugestão? Todos os comentários / comentários serão apreciados. 2. StatusBar e Exibição da hora.
Olá tudo, estou trabalhando em um aplicativo e gostaria de exibir a hora atual na barra de status no formulário principal. Existe uma maneira fácil de manter o tempo atual exibido? Eu sei que sempre consigo definir o texto da seção da barra de status para sempre. Agora, parece que eu teria que colocar isso onde seria chamado todo o tempo. Alguma ideia. Obrigado Brad 3. matriz 3d, mas com cordas em vez de números.
Oi, eu quero criar alguma biblioteca de informações para meus formulários na minha aplicação. uma vez que eu tenho muitos formulários no mesmo tipo de conexão para o servidor diferente, eu gostaria de alguma forma para armazenar cada informação de sessões, mesmo que todas as janelas do cliente estejam fechadas. então estou procurando por algo como uma matriz 3d, mas onde os valores podem ser recuperados usando strings em vez disso. para que eu possa armazenar o nome da sessão e por isso eu posso armazenar variáveis ​​e armazenar o que as janelas estão abertas para essa sessão e assim por diante. Obrigado.
WaitForExit: nenhum processo está associado a este objeto.
por Terry Olsen & raquo; Sáb, 30 Jul 2005 00:16:07 GMT.
Re: WaitForExit: Nenhum processo está associado a este objeto.
por Terry Olsen & raquo; Sáb, 30 Jul 2005 01:01:10 GMT.
Re: WaitForExit: Nenhum processo está associado a este objeto.
por Dragon & raquo; Sáb, 30 Jul 2005 01:01:16 GMT.
Tópicos Similares:
Quem está online.
Usuários que navegam neste fórum: Nenhum usuário registrado e 60 visitantes.

Nenhum processo está associado a este objeto waitforexit
Estou tendo um problema com isso e espero que alguns de vocês possam esclarecer isso para mim? O bloco de código:
Eu alterei o URL, obviamente, mas isso não é importante. Quando eu tento executá-lo, isso me dá uma exceção no & quot; WaitForExit & quot; linha indicando "Nenhum processo está associado a este objeto."
Qualquer ajuda aqui será muito apreciada!
O nome do arquivo de processo deve ser um arquivo executável.
SITE DO CONVERTIDOR DE CÓDIGO.
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 18:35.
Os dois métodos funcionarão.
SITE DO CONVERTIDOR DE CÓDIGO.
Marcado como resposta por Frank L. Smith terça-feira, 19 de outubro de 2010 18:44.
Todas as respostas.
O nome do arquivo de processo deve ser um arquivo executável.
SITE DO CONVERTIDOR DE CÓDIGO.
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 18:35.
O nome do arquivo de processo deve ser um arquivo executável.
SITE DO CONVERTIDOR DE CÓDIGO.
OH! Bem, isso explicaria isso, mas, no passado, usando o & quot; Process. Start ("url here & quot;") sempre funcionou.
Você tem uma idéia de como eu poderia fazer isso para que ele abra seu navegador padrão para ir ao site?
Kaymaf está certo - isso faz sentido quando eu dou um nome de arquivo ou url, ele funciona por causa do associado do arquivo. O seguinte funciona:
Eu irei com isso, mas se alguém tiver uma idéia de como eu posso conseguir usar seu navegador padrão, eu apreciaria isso.
Os dois métodos funcionarão.
SITE DO CONVERTIDOR DE CÓDIGO.
Marcado como resposta por Frank L. Smith terça-feira, 19 de outubro de 2010 18:44.
Os dois métodos funcionarão.
SITE DO CONVERTIDOR DE CÓDIGO.
Obrigado - boa informação. :)
A Microsoft está conduzindo 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.

Nenhum processo está associado a este objeto waitforexit
Menina: (olhando) "Por que você precisa de um pepino gelado?"
"Quero denunciar uma fraude. O governo está mentindo para todos nós ".
Menina: (olhando) "Por que você precisa de um pepino gelado?"
"Quero denunciar uma fraude. O governo está mentindo para todos nós ".
Menina: (olhando) "Por que você precisa de um pepino gelado?"
"Quero denunciar uma fraude. O governo está mentindo para todos nós ".
com antecedência.
Eu fiz isso de acordo com o número de itens selecionados no ActiveExplorer.
usando o evento Application. ActiveExplorer (). SelectionChange.
Eu entendo que, enquanto a caixa de diálogo está aberta, o proprietário é consumado até eu fechar a caixa de diálogo.
BTW devo fazer o mesmo para o evento Application. ItemContextMenuDisplay?
aplicativo privado this. Application;
you. suck = (you. Ocupação == jobTitles. Programmer & amp; you. Passion! = Programming)
1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111.
Pergunta de sugestão de notícias geral Resposta de erro Joke Praise Rant Admin.
Use Ctrl + Esquerda / Direita para alternar mensagens, Ctrl + Para cima / Para baixo para alternar threads, Ctrl + Shift + Esquerda / Direita para alternar páginas.

No comments:

Post a Comment