如题

解决方案 »

  1.   

    var MyReg: TRegistry;
        szPortName: String;
    begin
      MyReg := TRegistry.Create;
      try
        MyReg.RootKey := HKEY_LOCAL_MACHINE;
        if MyReg.OpenKey('\System\CurrentControlSet\Control\Print\Printers\'+'HP LaserJet 6L Pro PCL5e',False) then
          szPortName:=MyReg.ReadString('Port')
        else
          szPortName:='';
      Except
        MyReg.Free;
      end;
      showmessage(szPortName);
      

  2.   

    其中 HP LaserJet 6L Pro PCL5e为默认打印机
      

  3.   

    我给你个文章,这个不是我写的,我从大富翁上找的
    Delphi中获取打印机设备名和端口名 uses Printers; {$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; 
      

  4.   

    Api函数列表                                                                                
    --与打印相关                                                                               
                                                                                               
                                                                                               
    Api函数名                     函数说明                                适用范围             
                                                                          W3.x W95 NT 
    AddPrinterConnection          为当前用户建立与打印机的联系            否 是 是 
    StartPagePrinter              开始打印机                              否 是 是 
    StartDoc                      开始打印作业                            是 是 是 
    StartDocPrinter               开始打印作业                            否 是 是 
    AddPrintProvidor              加入一个打印机支持器                    否 是 是 
    AddForm                       加入一个打印机窗体                      否 是 是 
    AddPort                       加入一个打印机端口                      否 是 是 
    AddMonitor                    加入一个打印机管理器                    否 是 是 
    ShellExecute                  打开或打印指定文件                      否 是 是 
    ClosePrinter                  关闭打开的打印机                        否 是 是 
    WritePrinter                  向打印机输出数据                        否 是 是 
    AddPrinter                    在打印机服务器上建立一个打印机          否 是 是 
    SetAbortProc                  设备打印作业的放弃函数                  否 是 是 
    SetPrinter                    设置打印机信息                          否 是 是 
    SetPrinterData                设置打印机配置                          否 是 是 
    SetJob                        设置打印作业信息                        否 是 是 
    ResetPrinter                  设置打印数据类型和设备模式值            否 是 是 
    DeletePrinterConnection       删除与打印机的连接                      否 是 是 
    DeletePrintProcessor          删除打印机处理器                        否 是 是 
    DeletePrinterDriver           删除打印机驱动程序                      否 是 是 
    DeletePrinter                 删除打印机服务器上的打印机              否 是 是 
    DeleteMonitor                 删除打印机监视器                        否 是 是 
    DeletePrintProvidor           删除打印机提供者                        否 是 是 
    DeleteForm                    删除打印机窗体层差                      否 是 是 
    AbortPrinter                  删除打印机缓冲文件                      否 是 是 
    DeletePort                    删除打印机端口                          否 是 是 
    AddJob                        启动一个打印作业                        否 是 是 
    AdvancedDocumentProperties    进行打印机高级设置                      否 是 是 
    PrintDlg                      建立打印文本对话框                      否 是 是 
    EnumPrintProcessors           枚举已安装的打印机处理器                否 是 是 
    EnumPrinterDrivers            枚举已安装的打印机驱动程序              否 是 是 
    EnumPorts                     枚举可用打印机端口                      否 是 是 
    EnumPrintProcessorDatatypes   枚举打印机所支持的数据类型              否 是 是 
    EnumForms                     枚举所支持的打印机窗体                  否 是 是 
    AbortDoc                      终止一项打印作业                        是 是 是 
    PrinterProperties             修改打印机属性                          否 是 是 
    AddPrintProcessor             将打印处理器复制到打印机服务器中        否 是 是 
    AddPrinterDriver              将打印机驱动程序复制到打印机服务器中    否 是 是 
    PrinterMessageBox             显示打印作业出错信息                    否 是 是 
    ConnectToPrinterDlg           显示浏览对话并连接网络打印机            否 是 是 
    EndPagePrinter                结束打印页                              否 是 是 
    EndDoc                        结束打印作业                            是 是 是 
    EndDocPrinter                 结束打印作业                            否 是 是 
    StartPage                     准备打印机接收数据                      是 是 是 
    WaitForPrinterChange          监测打印机或打印机服务器变化            否 是 是 
    GetPrintProcessorDirectory    获取打印机驱动处理器路径                否 是 是 
    GetPrinterDriver              获取打印机驱动程序信息                  否 是 是 
    GetPrinterDriverDirectory     获取打印机驱动程序路径                  否 是 是 
    GetPrinter                    获取打印机信息                          否 是 是 
    GetPrinterData                获取打印机配置信息                      否 是 是 
    GetForm                       获取打印机窗口信息                      否 是 是 
    EnumJobs                      获取打印作业信息                        否 是 是 
    GetJob                        获取打印作业信息                        否 是 是 
    OpenPrinter                   获取指定打印机的句柄                    否 是 是 
    ReadPrinter                   读打印机数据                            否 是 是 
    DocumentProperties            配置打印机设置                          否 是 是 
    ConfigurePort                 配置打印机端口