如何知道打印机正在打印什么文件啊(100分)

  • 主题发起人 主题发起人 younglee
  • 开始时间 开始时间
Y

younglee

Unregistered / Unconfirmed
GUEST, unregistred user!
或者知道打印机将要打印的文件的文件名,有没有什么api函数可以实现?
 
The EnumJobs function initializes an array of either JOB_INFO_1 or JOB_INFO_2 structures with data describing the specified print jobs for the specified printer.
BOOL EnumJobs(
HANDLE hPrinter, // handle to printer object
DWORD FirstJob, // location of first job in print queue to enumerate
DWORD NoJobs, // number of jobs to enumerate
DWORD Level, // structure level
LPBYTE pJob, // pointer to structure array
DWORD cbBuf, // size of array, in bytes
LPDWORD pcbNeeded, // addr. of variable with no. of bytes copied (or required)
LPDWORD pcReturned // addr. of variable with no. of job info. structures copied
);

Parameters
hPrinter
Handle to the printer object whose print jobs the function will enumerate.
FirstJob
Specifies the zero-based position within the print queue of the first print job to enumerate. For example, a value of 0 specifies that enumeration should begin
at the first print job in the print queue;
a value of 9 specifies that enumeration should begin
at the tenth print job in the print queue.
NoJobs
Specifies the total number of print jobs to enumerate.
Level
Specifies whether the function should use JOB_INFO_1 or JOB_INFO_2 structures to store data for the enumerated jobs. A value of 1 specifies that the JOB_INFO_1 structure should be used;
a value of 2 specifies that the JOB_INFO_2 structure should be used.
pJob
Points to an array of either JOB_INFO_1 or JOB_INFO_2 structures.
cbBuf
Specifies the size, in bytes, of the array pJob.
pcbNeeded
Points to a variable that receives the number of bytes copied if the function succeeds. If the function fails, the variable receives the number of bytes required.
pcReturned
Points to a variable that receives the number of JOB_INFO_1 or JOB_INFO_2 structures that were initialized.

Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
The handle hPrinter is obtained by calling the OpenPrinter function.
The JOB_INFO_1 structure contains general print-job information;
the JOB_INFO_2 structure has much more detailed information.
See Also
GetJob, JOB_INFO_1, JOB_INFO_2, OpenPrinter, SetJob
 
typedef struct _JOB_INFO_1 { // ji1
DWORD JobId;

LPTSTR pPrinterName;
LPTSTR pMachineName;
LPTSTR pUserName;
LPTSTR pDocument;
LPTSTR pDatatype;
LPTSTR pStatus;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD TotalPages;
DWORD PagesPrinted;
SYSTEMTIME Submitted;
} JOB_INFO_1;

LPTSTR pDocument;
这个就是指向文件名的指针
 
to jimmyl:参数hPrinter怎么用?
 
哦,看懂了:)
 
多人接受答案了。
 
后退
顶部