윈 도 우 설치된 기본프린터 확인 및 테스트페이지 인쇄 vbscript
2020.01.14 12:46
컴퓨터 수리업을 접은 지 5년 되어가네요.
업자분 들 필드에서 이용하실 수 있는 자료 들 틈나는 대로 올려 보겠습니다.
설치된 기본프린터 확인 및 테스트페이지 인쇄
윈도10 에서 저도 사용중입니다.
스크립트 시작
'--------------
If WScript.Arguments.length =0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'--------------
Dim objWMIService, colProcessList, objShell, objFSO, outFile
Set objShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
curDir = objfso.GetParentFolderName(WScript.ScriptFullName)
Set outFile = objFSO.CreateTextFile(curDir & "\DefPRNprint.cmd", True)
outFile.WriteLine "@echo off"
outFile.WriteLine "pushd ""%~dp0"""
outFile.WriteLine "setlocal"
outFile.WriteLine "for /f ""tokens=2*"" %%a in ('reg query ""HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows"" /v Device') do (set DefPRN1=%%b)"
outFile.WriteLine "for /f ""tokens=1 delims=,"" %%a in (""%DefPRN1%"") do set DefPRN=%%a"
outFile.WriteLine "start RUNDLL32 PRINTUI.DLL,PrintUIEntry /k /n ""%DefPRN%"""
outFile.WriteLine "endlocal"
outFile.Close
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Default = TRUE")
For Each objPrinter in colInstalledPrinters
x=msgbox("★ 기본 프린터 : " & objPrinter.Name & " ★" +vbCrLf+ "" +vbCrLf+ " [ 테스트 페이지를 인쇄할까요? ]", 4, "기본 프린터 확인 & 테스트 페이지 인쇄")
Next
If x = VbYes Then
objShell.Run chr(34) & curDir & "\DefPRNprint.cmd" & Chr(34), 0, True
objFSO.DeleteFile(curDir & "\DefPRNprint.cmd")
Else
objFSO.DeleteFile(curDir & "\DefPRNprint.cmd")
Wscript.Quit
End If
End If
스크립트 끝
지후아빠님이 수정해주신 깔끔버전입니다.
Dim objWMIService, colProcessList, objShell, objFSO, outFile
Set objShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
curDir = objfso.GetParentFolderName(WScript.ScriptFullName)
Set outFile = objFSO.CreateTextFile(curDir & "\DefPRNprint.cmd", True)
outFile.WriteLine "@echo off"
outFile.WriteLine "pushd ""%~dp0"""
outFile.WriteLine "setlocal"
outFile.WriteLine "for /f ""tokens=2*"" %%a in ('reg query ""HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows"" /v Device') do (set DefPRN1=%%b)"
outFile.WriteLine "for /f ""tokens=1 delims=,"" %%a in (""%DefPRN1%"") do set DefPRN=%%a"
outFile.WriteLine "start RUNDLL32 PRINTUI.DLL,PrintUIEntry /k /n ""%DefPRN%"""
outFile.WriteLine "endlocal"
outFile.Close
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'UTIL.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
Set colPrinters = objWMIService.ExecQuery("Select * from Win32_Printer Where Default = TRUE")
For Each objPrinter in colPrinters
x = msgbox("★ 기본 프린터 : " & objPrinter.Name & " ★" & vbCrLf & vbCrLf & _
" [ 테스트 페이지를 인쇄할까요? ]", 4, "기본 프린터 확인 & 테스트 페이지 인쇄")
If x = VbYes Then objShell.Run chr(34) & curDir & "\DefPRNprint.cmd" & Chr(34), 0, True
Next
objFSO.DeleteFile(curDir & "\DefPRNprint.cmd")
댓글 [25]
-
홍은동초짜 2020.01.14 13:51
-
易모地뗀思아之기 2020.01.14 18:02
^^... 너무나도 ..유용한 자료 입니다...
감사합니다...
-
사악환이 2020.01.14 19:44
필드에서 꼭 필요했던건데 감사합니다.
-
쵝오의날들 2020.01.14 20:51
유용한 자료를 공개해 주셔서 감사합니다.
-
notaking 2020.01.14 21:49
공부에 도움많이 되었습니다.. 감사합니다. :)
-
7850 2020.01.15 03:56
대단히 감사합니다
-
흠냐리 2020.01.15 08:40
너무너무 감사합니다 ^^
-
지룡자 2020.01.15 10:06
감사합니다 프로그램 제작에 도움이 될듯 합니다
-
win10 2020.01.15 10:24
고맙습니다
-
모들 2020.01.15 11:29
감사합니다!!!
-
이어도 2020.01.15 15:53
한방에 끝내버리는 기막힌 작품이네요 ~ 감사합니다
-
s캐니멀 2020.01.15 21:32
와 좋은자료 감사 드려요 ^^
혹시 여러대의 프린터가 있을 경우 원하는 프린터로 기본설정 후 테스트 페이지 까지 출력 하는것도 가능 한가요??
-
레마클로 2020.01.15 22:40 레지스트리에 기본 프린터로 지정 되면 당연히 출력 가능하겠죠? ^^
-
동방오타 2020.01.16 08:37
고맙습니다. ^^;
-
왕초보 2020.01.16 08:48
이제서야 보았습니다...
소중한 자료 감사합니다..
좋은일만 있으시길 바랍니다..
-
베카 2020.01.16 22:49
필요한 자료였는데 너무 감사힙니다.
-
wp3wk 2020.01.17 13:24
감사힙니다
-
하늘개구 2020.01.17 18:31
감사드립니다.
건강하세요!~
-
SYM 2020.01.17 19:53
좋은 강좌 감사드립니다.
-
슈머슈마 2020.01.20 10:21
저는 뭐가 잘못됐을까요?
-
레마클로 2020.01.23 00:48 첨부파일로 해보세요.^^
8행 - 빨간부분 수정했습니다
outFile.WriteLine "pushd ""%~dp0"""
-
쁘송 2020.01.25 19:04
매우 유용한 자료 감사합니다!
-
풍일 2020.02.12 09:26
너무 좋은자료 감사합니다
질문 하나만 드려도 될까요? 기본 프린터 정보 확인할때 기본프린터 ip정보까지 확인하는 방법은 없을까요?
-
지후빠 2020.02.16 23:17
확실한 방법인 것 같습니다. 테스트 환경이 다양하지 않아서 확인할 길이 없지만...
테스트 삼아 아래 처럼 코드를 줄여볼 수 있겠지만 모든 경우에 대응할지는 모르겠습니다. ^^
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * from Win32_Printer Where Default = TRUE")
For Each objPrinter in colPrinters
x = msgbox("★ 기본 프린터 : " & objPrinter.Name & " ★" & vbCrLf & vbCrLf & _
" [ 테스트 페이지를 인쇄할까요? ]", 4, "기본 프린터 확인 & 테스트 페이지 인쇄")
If x = VbYes Then objPrinter.PrintTestPage
Next
-
레마클로 2020.02.18 09:44 작동 잘 됩니다
고맙습니다..^^
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
228 | 윈 도 우| NotePad 파일연결 레지스트리입니다. [12] | PC_Clinic | 1432 | 21 | 01-04 |
227 | 윈 도 우| Clinic PE의 wim 파일 업데이트하기 [9] | PC_Clinic | 2132 | 21 | 01-23 |
226 | 윈 도 우| 탐색기에서 드라이브 숨기기 보이기 배치파일 [23] | 지후빠 | 1893 | 21 | 01-30 |
225 | 윈 도 우| 윈도우10/11 무인설치 응답파일 선택 설치 [7] | 무월 | 3462 | 21 | 07-28 |
224 | 소프트웨어| UltraISO 이용한 ISO 에 WIM 병합하기 [10] | 타천사둘리 | 3580 | 21 | 07-21 |
223 | 소프트웨어| 크롬/엣지에서 URL 드래그 드롭으로 제목 얻기 (ver 0.2.3,... [14] | 메리아 | 1284 | 21 | 10-13 |
222 | 윈 도 우| A.I를 이용한 KMS+Pirate 영구 인증법 [28] | 우금티 | 38885 | 22 | 11-29 |
221 | 윈 도 우| USB-HDD 만들기 (PartitionGuru이용) [12] | 하늘보기 | 19684 | 22 | 05-06 |
220 | 소프트웨어| UEFI 시스템 디스크 복사하기 ( TrueImage ) [10] | gooddew | 2431 | 22 | 03-14 |
219 | 기 타| USB 디스크 인식 오류시 복구 방법 [18] | gooddew | 4178 | 22 | 08-17 |
218 | 하드웨어| 메인보드 모델명 확인하기 [5] | gooddew | 3639 | 22 | 03-28 |
217 | 윈 도 우| Move over there 등록_제거 final 2020-04-15 [51] |
|
2672 | 22 | 03-29 |
216 | 윈 도 우| [추가]MoveOT_My설정_OnOff_v5 마지막버전 [34] |
|
1572 | 22 | 04-21 |
215 | 소프트웨어| Ventoy 대용량 usb/외장하드 부팅 문제 해결 [17] | suk | 4102 | 22 | 12-25 |
214 | 윈 도 우| PE 설치 스크립트 V7.31 [13] | 히이이잌 | 3001 | 22 | 12-22 |
213 | 소프트웨어| USB Bios + UEFI 듀얼부팅 - Rufus 없이 [6] | 카멜 | 2475 | 22 | 04-28 |
212 | 윈 도 우| 불필요한 파일/폴더 지우기 deltree useless .bat [35] | 지후빠 | 4638 | 22 | 09-21 |
211 | 윈 도 우| 윈도우 업데이트 활성화/비활성화 (요청) [14] | 슈머슈마 | 2598 | 22 | 12-28 |
210 | 윈 도 우| 윈도우 부팅 오류 해결 [16] | 메인보드 | 2223 | 22 | 03-11 |
209 | 윈 도 우| Windows 10에서 Windows 11 업데이트(업그레이드)를 차단하... [5] | heykevin | 2622 | 22 | 12-09 |
유용한 자료 넘 고맙습니다..