我现在做的这个系统里面有个打印的功能,需要知道我设置的纸张的类型的长度和宽度。我现在是这样做的:
    GetMem(pDevice, cchDeviceName);
    GetMem(pDriver, MAX_PATH);
    GetMem(pPort, MAX_PATH);
    Printer.GetPrinter(pDevice, pDriver, pPort, hDMode);
    if hDMode <> 0 then begin
        pDMode := GlobalLock(hDMode);
        if pDMode <> nil then begin
            vValue := pDMode^.dmPaperLength;//2970
            vValue := pDMode^.dmPaperWidth; //2100
        end;
        GlobalUnlock(hDMode); 
    end;
可是不过怎么设置什么类型的纸张,vValue的值都是2970和2100。可是这个是A4的值。
不知道错在那里,希望各位大哥指点。