请问能否在Delphi中打印Word文档,并指定从哪台打印机打印?打印的时候不显示Word文档,直接打印出来.
解决方案 »
- pos枪的使用
- 用delphi对word操作进行评分(比对和分数设置问题)
- 招人啦,又招人啦,哈哈,群号:26929954
- 怎样方便实现listview中点击每列的台头对内容排序?
- 有没有人买了《Delphi精要》?
- 如何为应用程序绑定ip地址
- 谁帮我解决这个难题我给他500元人民币!
- 我想把新增的最后5条记录(用table连sqlserver)选出来,但我新增的记录在table表中因为各种需要的原因而不能进行日期排序,所以记录一新增进
- 哪位大大能说一下这个句子在说什么啊然后用C写出来~~
- 请各位同道举一个继承的例子我看看.一定送分
- 怎样才能让DBGrid的某个字段下拉出一个Combobox或是一张表?
- 我的D7怎么运行不了abort; ?????????
procedure TprintAX.getPrint(var s: array of Char;PrinterName: String);
var
I: Integer;
Device: array[0..255] of Char;
Driver: array[0..255] of char;
Port: array[0..255] of Char;
hDeviceMode: THandle;
begin
for I := 0 to Printer.Printers.Count - 1 do
begin
if (Printer.Printers.Strings[I] = PrinterName) then
begin
Printer.PrinterIndex := I;
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
StrCopy (s, Device);
StrCat (s, ',');
StrCat (s, Driver);
StrCat (s, ',');
StrCat (s, Port);
end;
end;
end;//接收注册表中的名称,取得打印机名称为默认打印机
procedure TprintAX.setdefault(const zhuceName: WideString);
var
Result: String;
registertemp : tregistry;
s: array[0..255] of Char;
begin
registertemp := tregistry.create;
with registertemp do
begin
rootkey:=HKEY_CURRENT_USER;
if openkey('\SOFTWARE\tbz\print',true) then
begin
if valueexists(zhuceName) then
Result:=Readstring(zhuceName)
else
Result:='';
end;
closekey;
free;
end;
if Result='' then
begin
Application.MessageBox('请进行打印设置!', '提示', mb_iconinformation);
ComboBox2.Text := Result;
end
else
begin
getPrint(s,Result);
WriteProfileString ('windows', 'device', s);
StrCopy (s, 'windows');
SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@s));
end;
end;