Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andrejrocha

Prompt DOS

Recommended Posts

Bom dia, se alguém puder ajudar com este caso, agradeço.

 

Tenho que abrir várias chamadas por bat, pois são aplicações DOS e existe alguns critérios que não tenho como correr disso, o meu problema é evitar que abram a mesma janela inumeras vezes. Se encontrar, abrir a mesma existente.

 

Quando executo o comando abaixo :

ShellExecute(0,'open',StrPCopy(St,'c:\menugp\bats\depped2.bat'),'Teste',nil,SW_SHOW);

Abre um prompt e com o nome superior sempre "C:\WINDOWS\SYSTEM32\CMD.EXE" e não consigo pegar mais esta janela. Alguém sabe como posso resolver isso.

 

Detalhe, pensei identificar pelo Handle, mas não sei como fazer.

ShellExecute(0=Handle,'open',StrPCopy(St,'c:\menugp\bats\depped2.bat'),'Teste',nil,SW_SHOW);

Obrigado e Agradeço se alguem souber como ajudar

 

Andre

Compartilhar este post


Link para o post
Compartilhar em outros sites

O comando abaixo funciona, não era este o caso.Mas verdade não me resolve, porque não consigo acha a janela depois... porque sempre vem como titulo "C:\WINDOWS\SYSTEM32\CMD.EXE" e se tenho duas janelas abertas, são duas com o mesmo nome/título e nisso só consigo trabalhar com a ultima aberta, como se fosse uma PILHA.Porém. já resolvi a questão da seguinte forma e serve como ajuda a todos, preciso de um nome para achar a janela e então o nome da BAT ou um nome "exclusivo" resolveria, assim consigo dar pelo comando:JANELA_HANDLE := FindWindow(nil,'teste.bat')e com isso, precisaria que o nome do Prompt de comando fosse "Teste.bat", voltei ao simples e bom DOS, ao iniciar a bat, comecei pelo comando Title e resolvi a questão.TITLE "teste.bat"Obrigado...

ShellExecute(handle,'open',PChar('teste.bat'),'teste',PChar('C:\'),SW_Normal);
isso naum resolve?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.