Bonjour,

Afin de lancer l'impression d'un document au format .rtf à partir d'un logiciel, je crée un processus Wordpad avec la ligne de commande spécifiant le fichier à imprimer. De ce fait, j'imprime le document avec l'imprimante paramétrée dans wordpad.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
                STARTUPINFO si;
		PROCESS_INFORMATION pi;
		ZeroMemory( &si, sizeof(si) );
		si.cb = sizeof(si);
 
		if( !CreateProcess( NULL, // No module name (use command line). 
			commandline, // Command line. 
			NULL,             // Process handle not inheritable. 
			NULL,             // Thread handle not inheritable. 
			FALSE,            // Set handle inheritance to FALSE. 
			0,                // No creation flags. 
			NULL,             // Use parent's environment block. 
			NULL,             // Use parent's starting directory. 
			&si,              // Pointer to STARTUPINFO structure.
			&pi ))             // Pointer to PROCESS_INFORMATION structure.    
			{
				CAlerteDlg oAlerteDlg;
				oAlerteDlg.AfxAlerteErr(false,"\nEchec de l'impression du document.\n");
			}
 
		// Wait until child process exits.
		WaitForSingleObject( pi.hProcess, INFINITE );
 
		// Close process and thread handles.     
		CloseHandle( pi.hProcess );
		CloseHandle( pi.hThread );
J'ai vu qu'il était possible d'affichier une boite de dialogue permettant de lister les imprimantes disponibles, d'en sélectionner une et de récupérer son nom.

Sauriez vous s'il est possible de forcer l'impression du document avec l'imprimante sélectionnée à partir de la ligne de commande que l'on passe lors de la création du process?

Merci
Nicolas