请教一个问题?(100分)

  • 主题发起人 主题发起人 cw970519
  • 开始时间 开始时间
C

cw970519

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我的计算机上面安装了好几台打印机,如果我想把不同的东西打印到不同的打印机
上面,我应该怎么在程序里实现。
不知道又没有这样的控件,通过打印设置后,然后使用打印命令就能够打印相应的打印
机上面。
 
这样的功能好象不是什么控件能实现的吧?!而是操作系统的事啊!
我们都知道哪个打印机的驱动被设为默认,就向哪台打印机上打......
我再帮你查一下吧
 
谢谢,我也觉得是这样的,是不是要用到api函数
可是我又希望不要增加编程的难度。
 
在打印前,通过程序,重新设置默认打印机。
 
如何设置一台不是默认打印机的打印机为新的默认打印机?
 
修改printer对象的printerindex属性试一试,
printer:=tprinter.create;
得到打印机总数:printer.printers.count
得到当前打印机名:printer.printers.strings[printer.printerindex]
改变打印机printer.printerindex:=?;
 
设置Win98下的Epson LQ-1600K为默认打印机
print2:='Epson LQ-1600K,ESCP24SC,LPT1:';
//
var
WinIni : TIniFile;
WinIniFileName : array[0..MAX_PATH] of char;
szSection:pchar;
begin
if mode<>'work' then
exit;
GetWindowsDirectory(WinIniFileName,sizeof(WinIniFileName));
StrCat(WinIniFileName, '/win.ini');
WinIni := TIniFile.Create(WinIniFileName);
try
WriteProfileString('windows','device',pchar(print2)) ;
GetMem(szSection,10) ;
StrCopy(szSection,'Windows') ;
sendMessage(HWND_BROADCAST,WM_WININICHANGE,0,LongInt(szSection));
finally
WinIni.Free;
end;
end;

 
后退
顶部