Olá Pessoal tudo bem? um amigo mim passou um codigo
mais so que quando mando imprimir o programa imprimi e depois coloca aquela impressora selecionada no combobox como padrão , mais eu quero so que ela imprima na impressora selecionada e não ponha ela como padrão apos imprimir
procedure TFPrinc.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;
Pergunta
Josinaldo Fernandes
Olá Pessoal tudo bem? um amigo mim passou um codigo
mais so que quando mando imprimir o programa imprimi e depois coloca aquela impressora selecionada no combobox como padrão , mais eu quero so que ela imprima na impressora selecionada e não ponha ela como padrão apos imprimir
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.