用winspool取得本机安装的打印机的详细信息
在Delphi 6 Professional version on Windows 2000 Professional环境下测试过
窗体的名字为"FPrint",有TMemo 和 TCombobox 两个控件
unit unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, TabEdit, Printers, Buttons, WinSpool;
type
TPrinterInfo = record
SeverName : PChar;
PrinterName : PChar;
ShareName : PChar;
PortName : PChar;
DriverName : PChar;
Comment : PChar;
Location : PChar;
DeviceMode : PDeviceModeA;
SepFile : PChar;
PrintProcessor : PChar;
DataType : PChar;
Parameters : PChar;
SecurityDescriptor: PSecurityDescriptor;
Attributes : Cardinal;
DefaultPriority : Cardinal;
StartTime : Cardinal;
UntilTime : Cardinal;
Status : Cardinal;
Jobs : Cardinal;
AveragePPM : Cardinal;
end;
TFPrint = class(TForm)
Memo1: TMemo;
ComboBox1: TComboBox;
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function GetCurrentPrinterInformation: TPrinterInfo;
function GetCurrentPrinterHandle: THandle;
var
FPrint: TFPrint;
implementation
{$R *.dfm}
function GetCurrentPrinterHandle: TH