자작프로그램

시스템 트레이에서 모니터 DPI 텍스트 배율 조정하는 프로그램

반응형

작업표시줄 오른쪽에 있는 시스템 트레이 영역에서 모니터의 텍스트 배율 레이아웃을 설정하는 자작 프로그램입니다.

자작 프로그램은 맞는데 깃허브에 공개된 DPIHelper 공개소스를 이용한 도우미(?) 같은 프로그램입니다.

 

깃허브에 배율 설정 프로그램 DPIScalingMFCApp 프로그램하고 콘솔 프로그램도 같이 공개가 되고 있는데 사용하기가 불편해서 DPIHelper 라이브러리 파일을 사용해서 간단히 사용할 수 있도록 만들게 되었습니다.

깃허브 링크는 아래에 표시해 두었습니다.

 

 

모니터의 DPI 설정을 자주 변경하는 경우 디스플레이 설정에 들어가서 매번 작업을 하는게 귀찮을 수 있는데요. 이 프로그램은 시스템 트레이에서 아주 간단히 설정을 변경할 수 있습니다.

 

 

 

단일 모니터, 듀얼모니터 및 트리플 모니터까지 지원합니다.

 

아래 첨부파일을 다운로드 받고 프로그램을 실행하면 시스템 트레이에 파란 화살표같은 아이콘이 생깁니다.

프로그램을 처음 실행할 때는 약간의 딜레이가 있을 수 있습니다.

 

 

아이콘에서 마우스 우클릭을 하면 Monitor 1 , Monitor 2 , Monitor 3 이런 메뉴가 있는데요. 모니터 갯수만큼 메뉴가 활성화가 됩니다.

활성화된 모니터 메뉴에 마우스를 올리면 해당 모니터에서 지원하는 텍스트 배율이 모두 표시가 되는데요.

아래 스크린샷은 100% , 125% , 150% , 175% 이렇게 지원되는 노트북입니다.

 

모니터의 이름을 처음에는 확인할 수 없기 때문에 우선 텍스트의 배율을 변경하고 모니터의 이름을 지정하면 됩니다.

모니터가 어떤 장치인지를 먼저 확인하세요.

 

Monitor 1 의 서브 메뉴에서 125를 클릭하면 배율이 변경되는 모니터가 있을 텐데요.

 

 

 

 

 

아이콘에서 다시 우클릭해서 모니터 이름 설정을 클릭하세요.

 

 

 

Monitor 1 의 서브메뉴를 눌렀을 때 변경되는 모니터의 이름을 입력하세요.

Monitor 2 , Monitor 3 의 메뉴도 같은 방법으로 확인해서 해당 모니터의 이름을 입력하고 저장하고 닫기를 누르세요.

 

 

 

저장하고 닫으면 바로 메뉴이름이 지정한 이름으로 표시가 됩니다. 차후 실행시에는 지정한 이름으로 표시됩니다.

 

모니터이름의 서브메뉴를 누를때 마다 텍스트 배율이 변경됩니다.

 

 

 

프로그램 동작환경 : .Net framework 4.0 , 윈도우 10
파일명은 변경하지 마세요. WindowexeChangeDPI 가 아니면 실행이 되지 않습니다.

 

WindowexeChangeDPI_2022-09-27.zip
2.05MB


바이러스토탈 검진 결과 링크

www.virustotal.com/gui/file/772acdb35759833acf105caec84a851d481788319fe8927e9a5b80f5a72518a8/detection

개인이 만든 프로그램이고 많이 알려지지 않은 프로그램이라 일부 백신에서 악성코드로 인식할 수도 있습니다.
백신에서 차단하는 경우 예외처리나 신뢰하는 프로그램으로 추가해서 사용하세요.

 

 

DPIHelper 라이브러리 깃허브 링크

github.com/lihas/windows-DPI-scaling-sample

 

c++ 로 만들어진 라이브러리 파일인데 c++ 은 써본적이 없어서 모니터의 정보를 가져오는게 꽤나 복잡하네요.

EnumDisplayDevices 함수를 사용해서 모니터 인덱스번호로 비교를 해봤는데 머리가 나빠서 그런지 이것도 맘대로 안되는군요. 

그래서 모니터의 이름은 수동으로 설정해야 됩니다.

 

모니터 배율이 변경되지 않는 경우 lib 폴더에서 DPIHelper.txt 파일의 내용을 알려주세요.

 

바로가기나 배치파일로 사용하려면 아래의 프로그램으로 사용해도 됩니다.

https://github.com/imniko/SetDPI

 

유튜브 테스트 영상 링크입니다.

youtu.be/mJwcwa93OXI

반응형
카카오페이 1,000원 후원하기 (모바일용)