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

Verificar Se Processo Criado Ainda Esta Aberto


thiagodede

Pergunta

Fala Pessoal.. preciso de uma ajuda e não to achando.

Faço uma chamada ao Outlook Express atraves de um SHellExecute, e preciso saber se a janela esta aberta, pois so libero meu programa quando a pessoa fechar a janela criada, seja enviando o email ou fechando apenas, porem não to sabendo como fazer essa verificacao. não achei nenhum comando de chamada de programa externo que me retorne o Handle da janela Criada para fazer um teste com o IsWindows...

Vlw...

A chamada esta assim!

ShellExecute(lJanela,PAnsiChar('open'),PAnsiChar('C:\Arquivos de programas\Outlook Express\MSIMN.EXE'),

PAnsiChar('/eml:' + C_CAM_TEMP_USER + lNomeFile), nil, SW_SHOWMAXIMIZED);

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Ai galera.. resolvido...

Achei esse codigo Aqui... que utiliza as dicas que estao no link postado na resposta anterior!!

Valeu pela atencao ai...

A quem ajudar.. está aqui o codigo

function ExecAndWait(const FileName, Params: string; const WindowState: Word): boolean;
var SUInfo: TStartupInfo;
    ProcInfo: TProcessInformation;
    CmdLine: string;
begin
{ Coloca o nome do arquivo entre aspas. Isto é necessário devido aos espaços contidos em nomes longos }
  CmdLine := '"' + Filename + '"' + Params;
  FillChar(SUInfo, SizeOf(SUInfo), #0);
  with SUInfo do
    begin
      cb := SizeOf(SUInfo);
      dwFlags := STARTF_USESHOWWINDOW;
      wShowWindow := WindowState;
    end;
  Result := CreateProcess(nil, PChar(CmdLine), nil, nil, false,
  CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
  PChar(ExtractFilePath(Filename)), SUInfo, ProcInfo);
  { Aguarda até ser finalizado }
  if Result then
    begin
      WaitForSingleObject(ProcInfo.hProcess, INFINITE);
      { Libera os Handles }
      CloseHandle(ProcInfo.hProcess);
      CloseHandle(ProcInfo.hThread);
    end;
end;

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...