Ir para conteúdo
  • Cadastre-se

dev botao

Impressora padrão por compartilhamento


  • Este tópico foi criado há 377 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

procedure SetDefaultPrinter(PrinterName: String);
var
  I: Integer;
  Device : PChar;
  Driver : Pchar;
  Port : Pchar;
  HdeviceMode: Thandle;
  aPrinter : TPrinter;
begin
  Printer.PrinterIndex := -1;
  getmem(Device, 255);
  getmem(Driver, 255);
  getmem(Port, 255); 
  aPrinter := TPrinter.create;
  for I := 0 to Printer.printers.Count-1 do
  begin
  if Printer.printers[i] = PrinterName then
  begin
  aprinter.printerindex := i;
  aPrinter.getprinter
  (device, driver, port, HdeviceMode);
  StrCat(Device, ´,´);
  StrCat(Device, Driver );
  StrCat(Device, Port );
  WriteProfileString(´windows´, ´device´, Device);
  StrCopy( Device, ´windows´ );
  SendMessage(HWND_BROADCAST, WM_WININICHANGE,
  0, Longint(@Device));
  end;
  end;
  Freemem(Device, 255);
  Freemem(Driver, 255);
  Freemem(Port, 255);
  aPrinter.Free;
end;

Pessoal boa noite, peguei este código no google, ele funciona. Só que eu tenho um pequeno problema;

Eu tenho windows impressoras com nome PDF24, Fax,  Daruma

Esta PDF24 se eu faço SetDefaultPrinter('PDF24) - OK funciona

Porém em nosso sistema temos um cadastro de impressora onde colocamos as portas

Então nome do compartilhamento da impressora PDF24 e DANFE_PDF, então eu queria saber se existe algum funcao que retorne o nome das impressoras com seus compartilhamentos, dai eu conseguiria aplicar a SetDefaultPrinter.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 377 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.