Bonjour,

Dans mon application je dois imprimer alternativement un document que je crée moi-même (impression standard) et un fichier (pdf).

Après chaque document imprimé je lance le code suivant pour imprimer mon fichier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
FillChar(SEInfo, SizeOf(SEInfo), 0);
SEInfo.cbSize := SizeOf(SEInfo);
SEInfo.Wnd    := Application.Handle;
SEInfo.lpVerb := PAnsiChar(Mode);
SEInfo.lpFile := PAnsiChar(FileFullPath);
SEInfo.nShow  := SW_SHOW;
 
Res := ShellExecuteEx(@SEInfo);
if Res then
begin
  repeat
    GetExitCodeProcess(SEInfo.hProcess, ExitCode);
  until (ExitCode <> STILL_ACTIVE);
end;
L'ennui c'est que malgré ma boucle qui est sensée attendre que l'impression soit terminée pour passer à la suite, mon deuxième document s'imprime avant le premier fichier. Certainement à cause du temps que met Adobe Reader pour charger le fichier et l'imprimer.

Je ne trouve pas de solution pour être sûr que le fichier PDF soit bien imprimé (ou au moins déjà dans la file d'impression) avant de continuer le code.

Est-il possible d'interroger la file d'impression ?

Merci d'avance !