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
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.
Ah bom, desculpe-me; achei que vc quisesse executar um processo, esperar ele terminar p/ poder executar outro.