Rotina para selecionar a impressora pelo seu nome para impri
Preciso de uma rotina onde, eu escola pelo nome da impressora que desejo imprimir
Luilha
Curtidas 0
Respostas
Carnette
29/07/2003
[b:1dddd3462d]Mudar Impressora padrão pelo nome[/b:1dddd3462d]
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;
GOSTEI 0
Luilha
29/07/2003
Como executo este procedimento, porque já tentei utilizar antes
GOSTEI 0