Erro ao executar shellExecute Windows
Pessoal estou com a missão de unir dois ou mais pdf's em um so. Não encontrei forma de fazer isso nativamente no delphi portanto estou utilizando um problema chamado pdftk , ele é bem simples.
Ex:
Porém os parametros tem que vir da minha aplicação , portante quando executo o comando shellExecute ele trava 'pdfk parou de funcinoar'.
Comando que executa o shellexecute.
Ex:
pdftk arquivo1.pdf arquivo2.pdf output arquivomerge.pdf
Porém os parametros tem que vir da minha aplicação , portante quando executo o comando shellExecute ele trava 'pdfk parou de funcinoar'.
Comando que executa o shellexecute.
function ShellExecute_AndWait(FileName: string; Params: string): bool;
var
exInfo: TShellExecuteInfo;
Ph: DWORD;
begin
FillChar(exInfo, SizeOf(exInfo), 0);
with exInfo do
begin
cbSize := SizeOf(exInfo);
fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT;
Wnd := GetActiveWindow();
exInfo.lpVerb := 'open';
exInfo.lpParameters := PChar(Params);
lpFile := PChar(FileName);
nShow := SW_SHOWMINNOACTIVE;
end;
if ShellExecuteEx(@exInfo) then
Ph := exInfo.hProcess
else
begin
ShowMessage(SysErrorMessage(GetLastError));
Result := true;
exit;
end;
while WaitForSingleObject(exInfo.hProcess, 50) <> WAIT_OBJECT_0 do
Application.ProcessMessages;
CloseHandle(Ph);
Result := true;
end;
Jean Teixeira
Curtidas 0
Respostas
Interativa Sistemas
14/09/2017
Amigo, veja se isto te ajuda.
Tente utilizar o comando ShellExecute assim:
ShellExecute(Handle, 'open', PWideChar('"' + COMANDO_A_SER_EXECUTADO_NO_CMD + '"'), nil, nil, SW_SHOWMAXIMIZED);
uses Winapi.ShellApi;
Tente utilizar o comando ShellExecute assim:
ShellExecute(Handle, 'open', PWideChar('"' + COMANDO_A_SER_EXECUTADO_NO_CMD + '"'), nil, nil, SW_SHOWMAXIMIZED);
uses Winapi.ShellApi;
GOSTEI 0
Jean Teixeira
14/09/2017
Testei aqui ele ate executa esta linha porém não tem o resultado esperado, ele não gera o arquivo de output. Alguém sabe o porque disso esta acontecendo.
GOSTEI 0