BOOL SetDefaultPrinter(
  LPCTSTR pszPrinter  // default printer name
);
pszPrinter指向一个默认打印机名字的字符串, 对于一个远程打印机,名字格式为\\server\printername,对于本地打印机, 格式就是printername
如果这个参数为空或一个空的字符串, 如果你已经有个默认的打印机了,setdefaultprinter也不做任何事.但是, 如果没有默认的打印机,setdefaultprinter 设定默认的打印机为第一个打印机(从本地打印机中枚举出来的)
当你用这个方法时,就必须指定一个有效的打印机,驱动,端口.如果是无效的, 这个API作用不是失败,而是结果没有定义。你可以用EnumPrinters这个函数来检索打印机的名字,驱动名,端口名(从所有的可用打印中)
http://bbs.csdn.net/topics/40386459