31/08/2004

Delphi, winrar e shell

Minha aplicação envia comandos para o WinRar, via linha de comandos. 85¬ funciona,
mas tem algumas particularidades que eu desconheço, por exemplo, fixar o endereço
de descompressão pelo SFX e após a descompressão, executar um outro programa
meu.


Paulo

Respostas

31/08/2004

Ipc$

Na Shell32.dll, existe uma função chamada ShellExecuteEx, onde na sua estrutura de entrada ShellExecuteInfo existe o ponteiro lpParameters onde vc informa os parâmetros. Ela também retorna em hProcess o handle do processo que foi aberto; com este hProcess, vc executa em seguida: WaitForSingleObject(hProcess, Infinite); com isto sua aplicação trava até que aquele processo seja encerrado.

ps: ela está declarada na ShellApi.pas


Responder Citar

31/08/2004

Paulo

Não, não, não é isso q eu quero. Executar winrar via Shell, o programa já faz. Eu mesmo tenho uma função para isso. Alguns parâmetros do winrar que eu não consigo passar, qdo o arquivo for descomprimido, levando em conta que é o cliente que vai descomprimi-lo executando o SFX do winrar. Esses parâmetros são: Executar um arquivo após a descompressão, e setar um diretório fixo. Porém isso eu já resolvi, configurando manualmente o winrar. O que falta, é que ele cria umas pastas que não deveria ser criadas. Estas pastas são informadas na hora da compressão, mas eu não consigo eliminá-las na descompressão. Isso é q tá faltando.


Responder Citar

31/08/2004

Ipc$

Ah bom, desculpe-me; achei que vc quisesse executar um processo, esperar ele terminar p/ poder executar outro.


Responder Citar