윈 도 우 설치된 기본프린터 확인 및 테스트페이지 인쇄 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 | - | - | - |
4380 | 윈 도 우| [실사] 윈도우 7 32비트 VHD 설치 방법! [11] | 무월 | 896 | 19 | 08-23 |
4379 | 하드웨어| [팁] 프린터 상태 정보 오류 안뜨게 하는 법 [2] | asklee | 1000 | 4 | 08-23 |
4378 | 윈 도 우| winpe에서 startis[all]back를 이용한 탐색기 색 변경 [14] | sunshine | 610 | 14 | 08-23 |
4377 | 윈 도 우| [2탄] install.wim 누적 업데이트 + 드라이버 통합 하기 (D... [9] | 무월 | 1378 | 28 | 08-21 |
4376 | 윈 도 우| [1탄] install.wim 누적 업데이트 통합 하기 [26] | 무월 | 1873 | 45 | 08-19 |
4375 | 모 바 일| AirPrint 설정 및 호환 프린터 목록 [1] | asklee | 746 | 3 | 08-18 |
4374 | 윈 도 우| Windows Defender 방화벽 인/아웃바운드 허용/차단 추가 [20] | 무월 | 2081 | 35 | 08-17 |
4373 | 소프트웨어| 중국어 하드 코딩 한글화 강좌 [8] | 줄리아니 | 1071 | 20 | 08-16 |
4372 | 소프트웨어| 중국어 프로그램 한글화 팁 [8] | 줄리아니 | 1203 | 16 | 08-14 |
4371 | 소프트웨어| LaunchBar boot.wim 적용 방법 [12] | 무월 | 1546 | 35 | 08-13 |
4370 | 소프트웨어| (추가3) 배치파일 추가기능 extd.exe 사용 팁 [7] | 지후빠 | 949 | 24 | 08-13 |
4369 | 소프트웨어| 중국어 프로그램 한글화 팁 [11] | 줄리아니 | 1385 | 20 | 08-10 |
4368 | 소프트웨어| ESD 다중 이미지 단일 WIM 이미지 추출 방법! [12] | 무월 | 1086 | 30 | 08-09 |
4367 | 소프트웨어| 크롬 하단 다운로드창 활성화 [11] | 무월 | 2791 | 46 | 08-03 |
4366 | 소프트웨어| wim boot 관련 배치 파일 몇 가지 팁 [19] | 지후빠 | 1460 | 29 | 08-03 |
4365 | 기 타| 포토샵 많이 좋아졌네요!! [3] | 집에서뒹굴 | 2750 | 5 | 08-02 |
4364 | 모 바 일| [Tip] 인천공항 스마트패스 - 얼굴 인식으로 출국장 통과 앱 [5] | asklee | 1762 | 9 | 07-28 |
4363 | 소프트웨어| 다음 팟플레이어 광고[팝업] 차단 [12] | 무월 | 3122 | 48 | 07-26 |
4362 | 윈 도 우| winpe 시작 화면 Shutdown 메뉴 수정 [10] | sunshine | 859 | 18 | 07-25 |
4361 | 소프트웨어| winpe 시스템 계정에서 Edge 상위버전 적용 [8] | sunshine | 566 | 15 | 07-24 |
유용한 자료 넘 고맙습니다..