由于項目需要在windwos系統中添加多臺虛擬打印機(能夠正常打印出紙),查找了一下系統函數。
使用 rundll32 printui.dll,PrintUIEntry,在CMD中運行,在彈出框中得到以下提示?! ?/p>
用法: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]
/a[file] 二進制文件名 /b[name] 基本打印機名 /c[name] 如果操作在遠程機器上,unc 機器名 /dl 刪除本地打印機 /dn 刪除網絡打印機連接 /dd 刪除打印機驅動程序 /e 顯示打印首選項 /f[file] inf 文件或輸出文件 使用 /f 指定的 INF 文件可能依賴的 INF 文件的 /F[file] 位置 /ga 添加每個機器打印機連接(用戶登錄時此連接將傳播到用戶) /ge 枚舉每個機器打印機連接 /gd 刪除每個機器打印機連接(用戶登錄時此連接將被刪除) /h[arch] 驅動程序體系結構,為下列之一: x86 或 x64 或 Itanium /ia 用 INF 文件安裝打印機驅動程序 /id 用添加打印機驅動程序向導安裝打印機驅動程序 /if 用 INF 文件安裝打印機 /ii 用帶 INF 文件的添加打印機向導安裝打印機 /il 用添加打印機向導安裝打印機 /in 添加網絡打印機連接 /ip 使用網絡打印機安裝向導安裝打印機 /j[provider] 打印提供程序名稱 /k 將測試頁打印到指定的打印機,不能安裝打印機時的命令組合 /l[path] 打印機驅動程序源路徑 /m[model] 打印機驅動程序型號名 /n[name] 打印機名 /o 顯示打印機隊列查看 /p 顯示打印機屬性 /q 安靜模式,不顯示錯誤信息 /r[port] 端口名 /s 顯示服務器屬性 /Ss 將打印機設置存到一個文件 /Sr 從一個文件還原打印機設置
儲存或還原必須放在命令結尾的打印機設置選項標志:
2 PRINTER_INFO_2 7 PRINTER_INFO_7 c 顏色配置文件 d 打印機數據 s 安全描述符 g 全局 DevMode m 最低設置 u 用戶 DevMode r 解決名稱沖突 f 強制使用名稱 p 解析端口 i 驅動程序名稱沖突 /u 如果已安裝,則使用現有的打印機驅動程序 /t[#] 起始的以零為基礎的索引頁 /v[version] 驅動程序版本,為下列之一:“類型 2 - 內核模式”或“類型 3 - 用戶模式” /w 如果在 INF 中找不到指定的驅動程序,則提示用戶 /y 將打印機設置為默認打印機 /Xg 獲得打印機設置 /Xs 設定打印機設置 /z 不要自動共享這臺打印機 /Z 不要自動生成打印機名 /K 更改 /h 的含義,使 x86 或 x64 或 Itanium 接受 2、3、4,并更改 /v 的含義,使“類型 3 - 用戶模式”接受 3 /Z 共享這臺打印機,只能跟 /if 選項一起使用 /? 幫助信息 @[file] 命令行參數文件 /Mw[message] 確認命令之前顯示警告消息 /Mq[message] 確認命令之前顯示確認消息 /W[flags] 指定向導(APW 和 APDW)的標志和切換 r 使向導可以從上一頁重新啟動 /G[flags] 指定全局標志和切換 w 抑制安裝程序驅動程序警告 UI (超級靜聲模式)
例如:
運行服務器屬性:
rundll32 printui.dll,PrintUIEntry /s /t1 /c//machine 運行打印機屬性:rundll32 printui.dll,PrintUIEntry /p /n//machine/printer 本地運行添加打印機向導:rundll32 printui.dll,PrintUIEntry /il 在 //machine:rundll32 printui.dll,PrintUIEntry /il /c//machine 運行添加打印機向導 運行隊列查看:rundll32 printui.dll,PrintUIEntry /o /n//machine/printer 運行 INF 安裝:rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f c:/infpath/infFile.inf /r "lpt1:" /m "Brother DCP-128C" 運行 INF 安裝(具有 INF 依賴關系)。在此示例中,prnbr002.inf 依賴于 ntprint.infrundll32 printui.dll, PrintUIEntry /ia /m "Brother DCP-128C" /K /h x64 /v 3 /f "c:/infpath/prnbr002.inf" /F "c:/infpath/ntprint.inf" 使用 INF 運行添加打印機向導:rundll32 printui.dll,PrintUIEntry /ii /f c:/infpath/infFile.inf 使用內置打印機驅動程序添加打印機:rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /r "lpt1:" /m "Brother DCP-128C" 添加每個機器打印機連接(用戶登錄時此連接將傳播到用戶):rundll32 printui.dll,PrintUIEntry /ga /c//machine /n//machine/printer /j"LanMan Print Services" 刪除每個機器打印機連接(用戶登錄時此連接將被刪除):rundll32 printui.dll,PrintUIEntry /gd /c//machine /n//machine/printer 枚舉每個機器打印機連接:rundll32 printui.dll,PrintUIEntry /ge /c//machine 使用 INF 添加打印機驅動程序:rundll32 printui.dll,PrintUIEntry /ia /c//machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" /f c:/infpath/infFile.inf 使用 INF 添加打印機驅動程序:rundll32 printui.dll,PrintUIEntry /ia /K /c//machine /m "Brother DCP-128C" /h "x86" /v 3 添加內置打印機驅動程序:rundll32 printui.dll,PrintUIEntry /ia /c//machine /m "Brother DCP-128C" /h "Intel" /v "Type 3 - Kernel Mode" 刪除打印機驅動程序:rundll32 printui.dll,PrintUIEntry /dd /c//machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" 刪除打印機驅動程序:rundll32 printui.dll,PrintUIEntry /dd /K /c//machine /m "Brother DCP-128C" /h "x86" /v 3 將打印機設置為默認打印機:rundll32 printui.dll,PrintUIEntry /y /n "printer" 設置打印機注解:rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer" 取得打印機設置:rundll32 printui.dll,PrintUIEntry /Xg /n "printer" 取得文件中的打印機設置保存結果:rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer" 設置打印機設置命令使用:rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ? 將所有打印機設置存入一個文件:rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ? 從一個文件還原所有打印機設置:rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" 將二級打印機信息存入一個文件:rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2 從一個文件還原打印機安全描述符:rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s 從一個文件還原打印機全局 devmode 和打印機數據:rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d 從文件最少設置還原并分析端口名:rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p 啟用打印機的客戶端呈現:rundll32 printui.dll,PrintUIEntry /Xs /n"printer" ClientSideRender enabled 禁用打印機的客戶端呈現:rundll32 printui.dll,PrintUIEntry /Xs /n"printer" ClientSideRender disabled
新聞熱點
疑難解答