Ir para conteúdo
Fórum Script Brasil
  • 0

Alguem Sabe?


Guest - Carlos -

Pergunta

Guest - Carlos -

Bom dia pessoal.....

Estou numa sinuca de bico, tenho um prgrama que em um certo ponto chama um

Exe do Dos. O problema é que eu presciso que o programa espere o programinha do dos parar de rodar para depois continuar.

alguém pode me ajudar ????

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Aproveitando o gancho do nosso amigo, vi o código do cara lá, e acho que funciona( não testei)

mas eu quero usar um programa do DOS que não apareça...

as duvidas são as seguintes:

como eu faço p/ ele não aparecer com o shell, só iniciar?? e se ele não aparecer como janela, o código lá do cara vai funcionar???

até mais

Link para o comentário
Compartilhar em outros sites

  • 0

Voce pode usar a API "WaitForSingleObject" .Funciona tanto em DOS como em Windows.

Private Declare Function WaitForSingleObject Lib "kernel32" _
(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long

Private Const INFINITE = -1&
'Note que bastaria alterar o valor de INFINITE para continuar
'após um tempo especificado (10 seg. no exemplo abaixo).
'Private Const INFINITE = 10000&
Private Const SYNCHRONIZE = &H100000

Public iTask As Long, ret As Long, pHandle As Long, A As Byte

Private Sub Form_Load()
iTask = Shell("c:\teste.bat", vbMinimizedFocus)
pHandle = OpenProcess(SYNCHRONIZE, False, iTask)
ret = WaitForSingleObject(pHandle, INFINITE)
ret = CloseHandle(pHandle)

MsgBox "Fechou!!!", vbInformation

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0
Aproveitando o gancho do nosso amigo, vi o código do cara lá, e acho que funciona( não testei)

mas eu quero usar um programa do DOS que não apareça...

as duvidas são as seguintes:

como eu faço p/ ele não aparecer com o shell, só iniciar?? e se ele não aparecer como janela, o código lá do cara vai funcionar???

até mais

Sim, testei aqui e o código do Marcelo funciona mesmo que se use a constante vbHide na função Shell():

v_HInstance = Shell("edit.com", vbHide)

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...