3,881
社区成员
发帖
与我相关
我的任务
分享
#include "windows.h"
int main()
{
unsigned char *pOutDevMode;
long lSize;
HANDLE hPrinter;
BYTE Info[250];
DRIVER_INFO_1 *p;
DWORD dwNeed, dwReturn, dwBuf = 250;
if (::EnumPrinterDrivers(NULL, NULL, 1, Info, dwBuf, &dwNeed, &dwReturn))
{
p = (DRIVER_INFO_1 *)Info;
for(UINT m = 0; m < dwReturn; m ++) {
hPrinter = NULL;
::OpenPrinter(p->pName, &hPrinter, NULL);
lSize = ::DocumentProperties(NULL, hPrinter, NULL, NULL, NULL, 0);
pOutDevMode = new unsigned char [lSize];
::DocumentProperties(NULL, hPrinter, NULL, (PDEVMODE)pOutDevMode, NULL, DM_OUT_BUFFER);//得到你想要的信息
}
}
return 0;
}