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

Abrir Exe...


Lafey

Pergunta

ola pessoal, bom eu queria saber como que eu faço pra abrir um .exe que esta no mesmo diretorio do meu soft? é o seguinte eu estou fazendo um autorun pra um cd... e logico que nem em todas as maquinas vai ser 'e:' o drive... se for diferente do meu já bixa o projeto...

alguém da uma dica pra mim?? só pra informar é um projeto no turbo delphi (auto run pra ele mesmo)... tem que instlar muita coisa e eu to querendo fazer um exe que instala sozinho...

obrigado

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

opa

faz assim...

pra pegar o caminho...

var

szPath: String;

szPath := extractfilepath(icludetrailingpathdelimiter(getcurrentdir));

Se o autorun.exe estiver em D:\ por exemplo, então o szPath vai ser igual a D:\

para abrir...

vamos supor que você queira abrir um aplicativo que esteja em x:\Bin\Install.exe onde X seria

a unidade de cd

então você faria...

winexec(pchar(szPath + 'Bin\Install.exe'), sw_shownormal);

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado Churc... agora uma duvida, eu abro o wianmp.exe com esse codigo e tem como eu saber quando ele fecha? pra fazer o esquema de abre um .exe pra instala e quando ele for fechado (termina a install) executa outro exe...

Aproveitando tem algum material pra mim saber todos os tipos de variaveis e essas "funções" (função do tipo essa 'getcurrentdir')?

obrigado desde já...

t+

Link para o comentário
Compartilhar em outros sites

  • 0

opa

agora uma duvida, eu abro o wianmp.exe com esse codigo e tem como eu saber quando ele fecha? pra fazer o esquema de abre um .exe pra instala e quando ele for fechado (termina a install) executa outro exe...

Cara até tem como executar um programa e esperar o seu término, a única coisa que é ruim é que a aplicação que executa e espera fica travada, até que o outro programa se finalize...

Você está usando qual programa de instalação?

Próprio?

A função para executar e esperar você pode encontrar aqui

http://www.ramosdainformatica.com.br/art_r...s01.php?CDA=381

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Cara até tem como executar um programa e esperar o seu término, a única coisa que é ruim é que a aplicação que executa e espera fica travada, até que o outro programa se finalize...
Churc, vê se eu não vou dizer besteira.

Se adaptar o código que postei outro dia para encerrar processos (link) acho que daria para implementar, com algumas restrições é claro, o que o colega quer.

É o seguinte, se o código que cria o processo fica no form principal (p.ex.) e não é chamada alguma janela com a opção ShowModal (apenas show) a partir dele, então funciona.

- Carrega-se o programa através de CreateProcess;

- Se o process o foi carregado com sucesso, quarda-se num loop até que o mesmo termine, mas chamando Application.Processmessages;

- Se for encerrar o processo na mão é só utilizar TerminateProcess;

Meu exemplo neste link para baixar (Processos.zip).

Chamando o ProcessMessges no loop, garante que o restro da aplicação coninue funcinando. E quando a aplicação chamada for fechada é encerrado o loop. (acrescentado: 10/09/2006)

O lance com o ShowModal é que só quando fechar a janela o programa continuará - mas corretamente, caso a processo tenha sido fechado.

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

Uma opção que utilizo é o ShellExecuteEx com fMask = See_Mask_NoCloseProcess;

Com isto é retornado em hProcess o processo criado.

Em seguida checa-se seu término por GetExitCodeProcess ou WaitforSingleObject.

Em rotinas que precisam esperar o término, pode-se colocar o código na Thread principal com time-out prédefinido.

Em rotinas que não precisam esperar o término, pode-se colocar o código numa Thread secundária.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...