可以直接与我联系[email protected]
我等着急用?谢谢

解决方案 »

  1.   

    你看看这篇文章或许对有些用
    http://www.csdn.net/expert/Topic/821.shtm
      

  2.   

    to shirong:
    getdevicemap函数的资料我翻了半天书找不到,你能否介绍一下,
    或者用代码示范一下,拜托?
      

  3.   

    sorry 我打错了,因该是getdevicecaps,不过从你的情况来看,不需要用
    到这个函数,下面两个例子是我抄的,试试看吧!获取打印驱动、端口名 {$IFNDEF WIN32} 
    const MAX_PATH = 144; 
    {$ENDIF} procedure TForm1.Button1Click(Sender: TObject); 
    var 
    pDevice : pChar; 
    pDriver : pChar; 
    pPort : pChar; 
    hDMode : THandle; 
    begin 
    if PrintDialog1.Execute then begin 
    GetMem(pDevice, cchDeviceName); 
    GetMem(pDriver, MAX_PATH); 
    GetMem(pPort, MAX_PATH); 
    Printer.GetPrinter(pDevice, pDriver, pPort, hDMode); 
    if lStrLen(pDriver) = 0 then begin 
    GetProfileString('Devices', pDevice, '', pDriver, MAX_PATH); 
    pDriver[pos(',', pDriver) - 1] := #0; 
    end; 
    if lStrLen(pPort) = 0 then begin 
    GetProfileString('Devices', pDevice, '', pPort, MAX_PATH); 
    lStrCpy(pPort, @pPort[lStrLen(pPort)+2]); 
    end; 
    Memo1.Lines.Add('Device := ' + StrPas(pDevice)); 
    Memo1.Lines.Add('Driver := ' + StrPas(pDriver)); 
    Memo1.Lines.Add('Port := ' + StrPas(pPort)); 
    FreeMem(pDevice, cchDeviceName); 
    FreeMem(pDriver, MAX_PATH); 
    FreeMem(pPort, MAX_PATH); 
    end; 
    end; 获取打印机状态 
     var 
    pinfo: pPRINTERINFO2; 
    pprt,a: Cardinal; 
    b:PDWORD; 
    begin 
    b:=allocmem(256); 
    pinfo:=AllocMem(1000); 
    if OpenPrinter('HP DJ 200',pprt,nil) then 
    begin 
    a:=1000; 
    if getprinter(pprt,2,pinfo,a,b) then 
    showmessage(pinfo.pPrinterName+' ststus:'+inttostr(pinfo.Status)); 
    ClosePrinter(pprt); 
    end; freemem(b); 
    freemem(pinfo); 
    end; PRINTER_INFO_2.Status : 
    Windows NT: 
    PRINTER_STATUS_PAUSED 
    PRINTER_STATUS_PENDING_DELETION 
    Windows 95: 
    PRINTER_STATUS_BUSY 
    PRINTER_STATUS_DOOR_OPEN 
    PRINTER_STATUS_ERROR 
    PRINTER_STATUS_INITIALIZING 
    PRINTER_STATUS_IO_ACTIVE 
    PRINTER_STATUS_MANUAL_FEED 
    PRINTER_STATUS_NO_TONER 
    PRINTER_STATUS_NOT_AVAILABLE 
    PRINTER_STATUS_OFFLINE 
    PRINTER_STATUS_OUT_OF_MEMORY 
    PRINTER_STATUS_OUTPUT_BIN_FULL 
    PRINTER_STATUS_PAGE_PUNT 
    PRINTER_STATUS_PAPER_JAM 
    PRINTER_STATUS_PAPER_OUT 
    PRINTER_STATUS_PAPER_PROBLEM 
    PRINTER_STATUS_PAUSED 
    PRINTER_STATUS_PENDING_DELETION 
    PRINTER_STATUS_PRINTING 
    PRINTER_STATUS_PROCESSING 
    PRINTER_STATUS_TONER_LOW 
    PRINTER_STATUS_UNAVAILABLE 
    PRINTER_STATUS_USER_INTERVENTION 
    PRINTER_STATUS_WAITING 
    PRINTER_STATUS_WARMING_UP 
      

  4.   

    老兄你没看懂吗?
    要用INFO来判断
      

  5.   

    to shirong:
    拜托介绍如何用info判断?