윈 도 우 설치된 기본프린터 확인 및 테스트페이지 인쇄 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 | - | - | - |
1983 | 윈 도 우| 바이오스 안에 OEM SLIC 가 내장되었는지 확인하는 방법 [5] | gooddew | 84995 | 0 | 06-17 |
1982 | 윈 도 우| 윈도우7에서 K10STAT 쓰기 [2] |
|
13035 | 0 | 09-04 |
1981 | 윈 도 우| IE 8가 설치된 XP에서 한글2007을 설치시 mshtml.dll 해결... [7] | 스노팍 | 24711 | 0 | 11-13 |
1980 | 윈 도 우| ReadyBoost와 USB Hardware Policies [9] |
|
11542 | 0 | 08-05 |
1979 | 윈 도 우| NEWPREP(만능고스트 툴)를 홈에디션에서도 사용하기 [3] |
|
25341 | 0 | 12-30 |
1978 | 윈 도 우| Embedded Standard 7 한글입력 thin client [1] | run2thesun | 14115 | 0 | 07-10 |
1977 | 윈 도 우| 비스타/세븐 DVD-4cd 분할 가이드 v2 |
|
63413 | 0 | 01-21 |
1976 | 윈 도 우| UEFI-모드 부팅 [설치 USB] 만들기 [8] |
|
77038 | 0 | 09-07 |
1975 | 윈 도 우| 만능 XP드라이버 자동 설치 [10] |
|
24350 | 0 | 02-04 |
1974 | 윈 도 우| usb 이용한 윈도우7 설치 ((스누피님 블로그 링크)) [7] | 노을 | 20605 | 0 | 02-19 |
1973 | 윈 도 우| 윈도우 7 어드민(관리자)계정으로 설치하기 [5] |
|
19228 | 0 | 02-20 |
1972 | 윈 도 우| MSE가 검사가 안되는 오류 [3] | 페이지 | 8829 | 0 | 02-20 |
1971 | 윈 도 우| Windows 탐색기에서 라이브러리 항목 제거하기 [8] | PiPS | 9997 | 0 | 02-25 |
1970 | 윈 도 우| WAT2 정보입니다. [6] | 짱닌텐도 | 11631 | 0 | 02-25 |
1969 | 윈 도 우| 새로운 인증툴 WAT 업데이트 시작됨 [10] |
|
19087 | 0 | 02-26 |
1968 | 윈 도 우| 32bit 윈도우, 램 4기가 인식됩니다(불펌) [12] |
|
29313 | 0 | 02-26 |
1967 | 윈 도 우| 스니핑 툴. 화면을 찍는 툴입니다 [12] |
|
12110 | 0 | 02-27 |
1966 | 윈 도 우| 윈도우7 Windows 정품 인증 기술 업데이트로 인증하기 [21] |
|
111629 | 0 | 02-27 |
1965 | 윈 도 우| Windows 7 Professional 이하 에디션에 언어팩 설치하기 [6] | PiPS | 20628 | 0 | 03-01 |
1964 | 윈 도 우| 윈도우 7 라이센스 키를 찾을수 없다고 나올때 [2] | 짱닌텐도 | 15368 | 0 | 03-02 |
유용한 자료 넘 고맙습니다..