윈 도 우 설치된 기본프린터 확인 및 테스트페이지 인쇄 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 | - | - | - |
4389 | 윈 도 우| [실사] Windows 10/11 업데이트 통합본 ISO 만들기 [16] | 무월 | 3149 | 31 | 11-12 |
4388 | 소프트웨어| 윈포 쪽지 전달 반자동화 AHK 매크로(배포중지) [39] | 지후빠 | 1685 | 31 | 08-23 |
4387 | 윈 도 우| (수정) WIM 우클릭 부팅 관련 메뉴 4번째 [21] | 지후빠 | 2764 | 31 | 04-24 |
4386 | 윈 도 우| Windows OEM Key & TPM 2.0 [17] | kernel | 5754 | 31 | 08-21 |
4385 | 윈 도 우| PE 업데이트 스크립트 V1.30 [12] | 히이이잌 | 2573 | 31 | 12-20 |
4384 | 윈 도 우| 나만의 복구 솔루션 만들기 -1부- (UEFI) [36] | gooddew | 7849 | 31 | 06-06 |
4383 | 소프트웨어| ESD 다중 이미지 단일 WIM 이미지 추출 방법! [12] | 무월 | 1080 | 30 | 08-09 |
4382 | 윈 도 우| [실사] 만능WIM 응답파일(Unattend.xml) 교체 [33] | 무월 | 2866 | 30 | 08-21 |
4381 | 윈 도 우| 리소스 잡아먹는 Edge 설정 한방에 하기 [39] |
|
7693 | 30 | 09-06 |
4380 | 소프트웨어| Rufus를 사용하여 Windows 11 부팅 가능한 USB를 만드는 방법 [24] | VᴇɴᴜꜱGɪ | 4133 | 30 | 08-16 |
4379 | 윈 도 우| IP 주소 변경 배치(DSN/WINS) [20] | 무월 | 3542 | 30 | 12-28 |
4378 | 윈 도 우| 디펜더 켜기/끄기 (요청) [19] | 슈머슈마 | 7525 | 30 | 12-28 |
4377 | 소프트웨어| 구글드라이브 다운로드 배치파일과 오토핫키 완성 [23] | 지후빠 | 2137 | 30 | 08-29 |
4376 | 윈 도 우| 북마크 백업 복구 배치파일 [17] | 센돔타오르 | 2247 | 30 | 08-03 |
4375 | 윈 도 우| Win PE에서 윈도우 UEFI설치를 합니다. [18] | 하늘은높고 | 5107 | 30 | 04-05 |
4374 | 소프트웨어| PE 유틸 업데이트 하기 - RSImageX 사용 [17] | suk | 6457 | 30 | 10-20 |
4373 | 윈 도 우| Windows 10 새로운 시작 메뉴 정리와 reg 테스트 [14] | suk | 5181 | 30 | 08-07 |
4372 | 윈 도 우| VMware 윈도우10 RS4 Sysprep 통합윈도우 만들기 [33] | 아차카차 | 7823 | 30 | 06-01 |
4371 | 소프트웨어| VMware workstation 사용법(본문 수정-2) [76] | 고양이2 | 14926 | 30 | 11-14 |
4370 | 윈 도 우| 윈도우11&10 앱 제거 무인설치 [16] | 무월 | 1202 | 29 | 03-22 |
유용한 자료 넘 고맙습니다..