기 타 (추가2) Cmd로 윈도우 정보 화면에 PE 정보를 넣어 보았습니다
2021.09.26 12:17
2번째 추가입니다
지후빠님께서 타이틀, 첫번째 메세지, 두번째 메세지, 아이콘까지 총 4가지를 설정할수 있는 ShellAbout.exe 를 오토잇으로
만들어 댓글에 소개를 하여 주셨습니다..소스까지 포함이 되어 있습니다, cmd에서 간단히 설정을 할수가 있습니다
오늘 많은 도움을 받았습니다.. 도와 주신 마음에 깊이 감사드립니다
파일과 사용법은 댓글을 참가하여 주십시요
-----------------------------------------------------------------------------------------------------------
추가입니다
지후빠님께서 윈도우 버전에 보여주는 정보를 두줄로 보여줄수 있도록 줄 바꾸기 하는 방법을 댓글로 알려주셨습니다
첫번째 문장 끝에 ^ 를 붙이고 다음줄을 공백으로 두고 3번째 줄에 두번째 문장을 두면 윈도우 버전에 2줄로 나옵니다
지후빠님 고민을 해결해 주셔서 감사합니다
자세한 내용을 댓글의 사진을 참고하여 주십시요
------------------------------------------------------------------------------------------------------------
저는..단순히 필요한 소스를 구글에서 찾아서 복사해서 활용하는 정도 입니다
그래서..복사한 내용 외에는..다른 부분들에 대해서는 잘 알지 못하여서..놓치는 정보들이 많이 있습니다
이번에 윈도우 버전을 보여주는 RunDll32.exe SHELL32, ShellAboutW 명령어도 구글에 있어서 그대로 활용을 해볼까 하다가 문제가 있어서 포기를
했었던 것입니다
다행이 마음씨 좋으신 kernel님 덕분에..오히려 더 좋은것을 얻어서 활용할수가 있어서..오히려 잘 경우죠..
오토잇으로 만든 짝퉁 winver.exe 사용기를 쓰면서 윈도우 버전 정보 관련은 모두 마무리가 되는줄알았습니다
사용기에 harman777님께서 댓글을 달아주시면서 제가 보지 못하여서 놓치고 있던 윈도우에서도 타이틀이 깨진다는것을 알게 되고..이 글을 보시고
kernel님께서..타이틀 깨지는것을 해결하여 주신 ShBridge.dll를 만들어 주셔서 모든 문제가 해결이 되었습니다
kernel님과 harman777님 글이 아니었다면...아마 오늘 사용기는 없었을것입니다..
두분 덕분에 놓치고 있던것을 발견해서..cmd로도 간단하게 나마 윈도우 버전에 원하는 정보를 표시할수 있게 되었습니다
kernel님과 harman777님께 감사드립니다..좋은일만 있으시길 바랍니다
제가 놓치고 있었던 부분입니다.
RunDll32.exe로 명령어를 줄때 ShellAboutW로 주었었는데...ShellAboutA 라는것도 있네요..구글에서 검색해보면..나와 있는데...ShellAboutA가
재미있는 기능이 있다는것을 몰랐습니다
ShellAboutA는..cmd에서도 윈도우 정보에 원하는 내용을 보여줄수 있습니다...2줄까지 가능하네요
하지만 ShellAboutA도 ShellAboutW와 같은 문제점이 있습니다..타이틀 제목이 깨지네요
이 타이틀이 깨지는 문제는 nircmd.exe로 해결을 하여 보았습니다
어떤 사람에게는...꼭 필요한것도..어떤 사람에게는 무용지물일때가 있죠..
PE 관련해서도 마찬가지 인것 같습니다..배경화면 설정이나..아이콘 교체등은..pe 기능과 상관이 없어서..전혀 필요가 없으신 분도 있습니다
저의 경우 컴퓨터 관련 종사자가 아니어서인지..PE에 컴퓨터 정보를 보여주는것에 대해서는 꼭 필요하다는 생각을 하지는 않습니다
복구시스템을 구축할때 처음보는 컴퓨터는..당연히..바이오스에서 이것저것을 살펴보기 때문에...pe에서..정보가 큰의미가 없었던것 같습니다
그래도..쉽게 표시할수 있다면...보여주는것도 좋죠..PE 관련 정보만 윈도우 버전에 표시하는것으로 하여 보았습니다
1. 부팅 모드 정보만 필요하다면...윈도우 버전에 표시할 필요도 없이..간단히..부팅시 나오는 메세지에 아래처럼 안내를 해도 될것 같습니다.
2. 지인분들중에 신경 쓰는 분도 없고해서..레인미터에도 간단히 한다고 CPU hz나 RAM 용량도 표시를 하지 않고 있습니다
3. cmd로 윈도우 버전에 정보를 보여주는것을 추가해서 우클릭에 2개가 있습니다
4. 윈도우 버전 표시에 이미지가 있는것이 보기가 좋죠....basebrd.dll 은 있어야 합니다..dll에서 필요없는 bmp를 삭제하면 용량이 팍 줄어듭니다
ShBridge.dll는 RunDll32.exe SHELL32, ShellAboutW 명령으로 하는 경우 윈도우에서도 타이틀이 깨지는것 때문에 kernel님께서 만들어 주신
dll 입니다.. kernel님 감사합니다
winver.exe와 winver.exe.mui 파일은 없습니다..
5. ShellAboutW 명령어가 있고....뒤에 표시하고 싶은 내용이 있습니다
BIOS UEFI 구분은 cmd에서 알아낼수 있고...나머지 Win10 RS5 (1809) - 17763.1 64-Bit [전용] 는 PE에 있는 원래 정보여서..따로 추출하려고
하지 않아도 될것 같습니다..이미 알고 입력해 놓으면 되는데 매번 정보를 추출할 필요는 없을것 같습니다 이러면 작업이 간단해지죠.
RunDll32.exe SHELL32, ShellAboutW Win10 RS5 (1809) - 17763.1 64-Bit [전용] (BIOS)
사진에 보시면 1번 타이틀이 깨지고..2번에 Win10 RS5 (1809) - 17763.1 64-Bit [전용] (BIOS)가 깨져서 나옵니다. ShellAboutW 에서는 내용을
입력을 할수 있는데 글이 깨집니다.
6. kernel님께 배워서 오토잇으로 만든것은 4가지 설정을 원하는대로 할수가 있습니다. 어떻게 보면 정보보다는 보기좋게 꾸미는 용도죠..
7. kernel님께서 만들어 주신 ShBridge.dll를 활용한 경우 입니다..RunDll32.exe 를 활용하지만..1번처럼 타이틀이 정확히 나옵니다.
2번에 윈도우 포럼이 들어가 있습니다..이 경우..내가 원하는 내용을 표시할수가 없습니다 ShBridge.dll 소개를 해주실때 타이틀 부분 때문이어서
이부분만 해결이 되었습니다
kernel님 ShBridge.dll 은 지난 사용기 댓글에 있습니다..
8. ShellAboutA를 활용한 경우입니다..1번 타이틀 내용이 조금 바뀌었지만..여전히 깨집니다
중요한 부분이죠..내가 원하는 정보가..2번에 정확히 표시가 되었습니다.. cmd 파일의 인코딩은 ANSI로 되어 있어야 합니다.
이제 타이틀 깨지는것만 cmd로 해결을 하면 되네요..
RunDll32.exe SHELL32, ShellAboutA Win10 RS5 (1809) - 17763.1 64-Bit [전용] (BIOS)
9. 깨지는 타이틀은 nircmd.exe로 교체를 하였습니다..이제 깨지는 부분 없이 깔끔하게 되었습니다
10. 중간에 정보를 보여주는 곳을 2줄까지 가능합니다..cmd에서 명령할때 줄바꾸기가 되지 않아서..연달아 정보를 보여주면 아래처럼 엉뚱한곳이
아래줄로 갑니다
11. cmd 명령어에서..두번째 줄에서 첫번째 내용과 두번째 내용 간격을 조절해서 아래처럼 깔끔하게 정리를 하였습니다
첫번째줄의 내용은 pe마다 달라서..pe마다 설정을 해주어야 하는 불편은 있습니다..한번 하면 되죠..
CUP 정보는 레지에서 추출한것입니다..RAM 등 레지에 따로 없어서 cmd에서 간단히 할수 있는것만 했습니다
12. 두번째 정보 줄맞추기가 귀찮으시면 CUP 정보는 1번 처럼 대충 타이틀에 보이도록 해도 될것습니다..저는 CPU 정보를 레인미터에서 보여주지
않은것처럼 딱히 필요가 없어서 간단히 PE 정보만 보여 주어도 됩니다
13. UEFI 부팅 표시를 메세지에 보여주고 있습니다
14. 우클릭에서도 부팅 모드 정보를 보여주고 있습니다
15. 윈도우 버전 표시에는 PE 정보를 간단히 보여주고 있습니다
16. 마무리
지난 사용기에서 harman777님의 댓글이 없었다면...kernel님의 ShBridge.dll과 cmd에서도 내가 원하는 정보를 넣을수 있다는 것을 알지 못하였을
것입니다
kernel님과 harman777님 다시 한번더 감사인사 드립니다..
좋은일만 있으시길 바랍니다
단순히 원본 winver.exe에서 보여주는 정보만 보는것보다는 basebrd.dll 에서 그림도 바꾸어 보고 내가 원하는 정보도 간단히 보여줄수 있어서
재미가 있습니다 한번 해보시길 바랍니다
화창한 가을 하늘이네요.
웃음이 가득한 일만 있으시길 바랍니다
사용기에 사용한 winver.cmd 내용입니다....
보여주는 정보에 한글이 포함되어 있는 경우 cmd 저장시 인코딩을 ANSI 형식으로 하셔야 합니다
@echo off
wpeutil.exe UpdateBootInfo
For /f "tokens=2* delims= " %%A in ('Reg Query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') Do Set Firmware=%%B
If %Firmware%==0x1 ( Set BootMode=BIOS)
If %Firmware%==0x2 ( Set BootMode=UEFI)
For /f "tokens=2* delims= " %%A in ('Reg Query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 /v ProcessorNameString') Do Set Cpu_Name=%%B
Start RunDll32.exe SHELL32, ShellAboutA Win10 RS5 (1809) - 17763.1 64-Bit [전용] (%BootMode%) %Cpu_Name%
nircmd.exe wait 100
nircmd.exe win settext stitle "MZ" "왕초보's WinPE 정보"
exit
댓글 [21]
-
머나먼길.. 2021.09.26 13:13
-
지리산지기 2021.09.26 13:21
고생하셨습니다
-
에세3밀리 2021.09.26 14:04 아주 좋습니다
-
슈머슈마 2021.09.26 14:17
이런것도 배치파일로 되는군요 신기합니다. -
왕초보 2021.09.26 16:41
rundll32 사용법
https://tomkidd.tistory.com/m/18
다양한 명령어가 있습니다
아래처럼 ShellAboutA 에 "Info-Box" 단어가 들어가 있어서 혹시나 했더니..잘 되어서 활용하게 되었습니다
rundll32 shell32,ShellAboutA Info-Box Open 'About Window Window'
-
만구15 2021.09.26 15:22
수고하셧습니다
이쁘네요;; -
그녀석 2021.09.26 16:34
수고하셧습니다^^
-
ehdwk 2021.09.26 17:21
수고하셨습니다. -
파란하늘흰구름 2021.09.26 17:47
수고많으셨습니다.
-
harman777 2021.09.26 19:47
제가 한게 뭐 있나요
kernel 고수님이 다 해주신거죠 -_-;;;;;
-
왕초보 2021.09.26 20:06
댓글을 남겨주시지 않으셨다면..아마 그대로 정리를 했을것입니다..
그러면..이렇게 좋은것을 알지 못했을것입니다..
결과가 있다면..그 결과를 가져오게된 시작도 있을것입니다
덕분에 전혀 생각지도 못한 간단한 방법을 알게 되었습니다..
감사드리는 마음입니다.
-
지후빠 2021.09.26 20:13
수고하셨습니다.~ 예전 기억이 나서 찾아봤습니다. https://windowsforum.kr/lecture/14855860
잘하면 줄바꾸기가 될 것 같습니다.^^
다음처럼 줄바꿀 끝에 ^ 하나 입력하고 다음줄에 그냥 엔터 후에 그 다음중에 이어서 내용을 넣으면 될것 같습니다.
Start RunDll32.exe SHELL32, ShellAboutA Win10 RS5 (1809) - 17763.1 64-Bit [전용]^
(UEFI) (느린 6600)
-
왕초보 2021.09.26 20:26
이미 RunDll32.exe를 활용하신분이 있으셨네요...진짝에 관심을 가졌었더라면 벌써 활용을 했을것인데..이제서야 알게 되어서 활용을 하게
되었네요...윈포에서 글을 자세히 살펴보아야 하는데 놓치는것이 많이 있습니다...정보 감사합니다
이렇게 도움을 주셔서 감사합니다...중간에 한줄이 공백으로 있어야 적용이 되는것이었네요..
저는..한줄에 ^ 만 넣어서 테스트를 해보았습니다..
두줄로 넣을때 깔끔하게 하는것이 문제였는데 이 문제까지 덕분에 해결이 되었습니다
너무 감사합니다
1. 저는 한줄에서 ^ 를 넣어보았었습니다..이렇게 사용하는것이 아니었나 봅니다..
2. 이렇게 한줄로 표시가 되어서..안되는줄 알았습니다
3. 알려주신것처럼...^ 를 넣고 한줄을 공백으로 두고 다음줄에 두번째 문장이 있습니다
4. 두줄로 잘 나옵니다..이제..두줄로 써도..간격에 신경쓸 필요가 없게 되었습니다...감사합니다..
-
지후빠 2021.09.26 21:24
윈포 고수님들 batch 파일 사용하는 것 보고 자극 받아서 관련책 하나 보고 있습니다.^^(잊을만 하면 한번씩 본다는...)
echo 테스트 하면서 하나 건진 것입니다. ^^
-
왕초보 2021.09.26 23:14
와! 책까지 구입을 하셔서 공부를 하고 계셨네요...
강좌란에 알려주시는 정보들을 보면..역시 고수님이시구나 하는 생각이 들었습니다
열정을 가지시고 공부를 하신 결과 이셨네요..
앞으로도 부족한것이 보이시면 도움 부탁드립니다
웃음이 가득한 일만 있으시길 바랍니다
-
kernel 2021.09.26 21:44
두줄을 넘어서 서너줄 씩 출력하거나... 글자 크기, 컬러 등도
시스템 파일 건드리지 않고, Windows Shell 내부구조를 메모리 인젝션해서 처리 가능하죠.
한번 시도해 보세요.
PE엔 관심 없지만... 순수한 열정은 보기 좋네요.
-
왕초보 2021.09.26 23:12
오토잇에서 텍스트 내용을 변경할수 있다는것은 알고 있습니다..
저의 능력으로는 컬러등..전체를 다시 셋팅하는것을 너무 어려울것 같습니다
왕자님의 초저용량 PE에서 winver.exe가 빠져서 cmd에서 PE 정보를 보는것이 불편하시다고 해서 Winver.exe를 추가한다는것이
kernel님 덕분에 이렇게 많은것을 배울수 있었습니다. 진심으로 감사드립니다
개인적으로 PE에서 보여주고 싶은 정보는 따로 체크하지 않아도 되는 Win10 RS5 (1809) - 17763.1 64-Bit [전용] 정도 내용입니다
윈도우 버전에서 보여줄수 있어서 지금도 정보에 비해서 넘치는 정도입니다
지식을 베풀어 주신 마음에 다시 한번더 감사드립니다
복 많이 받으십시요
-
지후빠 2021.09.27 00:39
오토잇 소스를 수정해서 argument로 필요한 정보를 넘겨주도록 하는 것도 방법이겠습니다. ^^ 이미 아시겠지만욥.
1-제목, 2-빌드정보, 3-사양?정보, 4-shell32.dll 아이콘 index
start ShellAbout.exe "PE 정보" "칼있어엄마! Win10XPE121L" "CPU 3.3G Hz, RAM16G, SSD 1T" 43
ShellAbout.au3 ShellAbout.cmd ShellAbout.exe
사용자 이름과 조직 이름 바꾸기; RegisteredOwnerOrganization.REG
-
왕초보 2021.09.27 01:15
오토핫키만 하시는줄 알았습니다.
소스에 exe까지...이렇게 만들어 소개를 하여 주셔서 너무 감사합니다..
좀더 다양한것을 수정하고 싶으신분들이 좋아하실것 같습니다..
사용자 이름과 조직이름은 레지로 수정하나 봅니다..레지까지 챙겨주셨네요.
잘 사용하겠습니다
새로운 한주가 시작되었습니다..
웃음이 가득한 일들만 있으시길 바랍니다
-
왕초보 2021.09.27 01:30
인증샷입니다..
cmd나..다른 곳에서 뽑은 정보를 간단히 cmd로 넣을수가 있게 되어서 사용하시는 분들이 좀더 편하실것 같습니다
-
쭈니당 2021.09.28 09:35
수고하셨습니다.
감사합니다