在使用Delphi制作可执行程序之前,我已经写了一个添加网络打印机批处理程序,举
其中一例:添加打印服务器cn53-printspool上的CN53-P-002ZFHP4050打印机 ,批处理命令为:
rundll32.exe printui.dll,PrintUIEntry /in /n"\\cn53-printspool\CN53-P-002ZFHP4050" /r"ip_10.138.50.242" /y
该命令在批处理当中绝对是正确的。其中/in表示add network printer connection  ,/n[name] 指定网络打印机 ,/r[port]为port name ,/y 为set printer as the default 。在Delphi中,我要编制一个可以选择添加哪台网络打印机并选择是否设为默认的程序(为方便公司用户,因为我们有10台网络打印机)。
在Delphi中,我用了winexec 命令,添加网络打印机的命令格式为:
winexec('rundll32.exe printui.dll,PrintUIEntry /in /n"\\cn53-printspool\CN53-P-002ZFHP4050" /r"ip_10.138.50.242" ',sw_shownormal);
该命令添加网络打印机成功执行了。
但是如果同时添加打印机CN53-P-002ZFHP4050并设为默认,用命令:
WinExec('rundll32.exe printui.dll,PrintUIEntry /in /n"\\cn53-printspool\CN53-P-002ZFHP4050" /r"ip_10.138.50.242" /y',SW_SHOWNORMAL )
在生成的可执行程序中,选择添加CN53-P-002ZFHP4050 并选择设为默认,总是出错,说打印机名或路径不正确。但是我要是第一步先添加了CN53-P-002ZFHP4050,第二步设为默认,这样就能完成。在此我很想知道Delphi中winexec命令的命令格式什
么样的??我找了很多资料都没有对Delphi中winexec命令格式有讲解的。各位大虾公司都有不只一台打印机的吧,能否具体操作一遍,帮小妹出出主意。谢谢!