Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
usesPrinters, Messages; function
GetDefaultPrinter: string
; var
ResStr: array
[0..255] of
Char; begin
GetProfileString('Windows', 'device', '', ResStr, 255); Result := StrPas(ResStr); end
; procedure
SetDefaultPrinter1(NewDefPrinter: string
); var
ResStr: array
[0..255] of
Char; begin
StrPCopy(ResStr, NewdefPrinter); WriteProfileString('windows', 'device', ResStr); StrCopy(ResStr, 'windows'); SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Longint(@ResStr)); end
; procedure
SetDefaultPrinter2(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; try
for
I := 0 to
Printer.Printers.Count - 1 do
begin
if
Printer.Printers = 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
; finally
aPrinter.Free; end
; FreeMem(Device, 255); FreeMem(Driver, 255); FreeMem(Port, 255); end
; procedure
TForm1.Button1Click(Sender: TObject); begin
label1.Caption := GetDefaultPrinter2; end
; //Fill the combobox with all available printers procedure
TForm1.FormCreate(Sender: TObject); begin
Combobox1.Items.Clear; Combobox1.Items.AddStrings(Printer.Printers); end
; //Set the selected printer in the combobox as default printer procedure
TForm1.Button2Click(Sender: TObject); begin
SetDefaultPrinter(Combobox1.Text); end
;