I have created a monitoring for the Windows Spooler for the printjobs in C# and C++, and I'm looking for a way to retrieve the program name who has sent the job to the printer Spooler. The printjob has the printProcessor (I get the JOB_INFO_2, this information is in WMI Win32_PrintJob PrintProcessor), but not the program such as Winword, Excel, Notepad, Explorer, whatever...
The jobname is not a trusted way, so:
Is there any way I could get the program that the user use to print a document programmatically?
I'm using Windows 10, .NET Framework 4.5, C#, C++, but any suggestion in other language would be appreciated.
What I have tried:
I achieved to get the JOB_INFO_2 structure, but the program that the user use to print a document is not there.