본문 바로가기

IT네트워크/마이크로소프트

아이콘 컬러가 깨져 나와요!!!

OS를 설치하면 처음 하는 작업 중의 하나가, OS의 필요없는 효과를 끄기 위해서 TweakUI를 설치하는 것입니다. Windows95 시절부터 있던 Microsoft가 제공하는 유틸리티입니다.

TweakUI 이외에도 PowerToys라 해서 ALT-Tab 대체, 탐색기에서 커맨드 프롬프트 띄우기 등 다양한 어플리케이션이 있습니다. 그 중 TweakUI는 말 그대로 Windows의 UI를 Tweak하는 유틸리티입니다. 그것으로 여러가지 기능을 꺼버리고 키고 설정합니다만. 그 중 꼭 하는 것 중의 하나가 바로가기 아이콘에 걸려있는 화살표를 지워버리는 것입니다.

©2004 Microsoft Corporation. All rights reserved.

이렇게 화살표가 있는 것을...

©2004 Microsoft Corporation. All rights reserved.

이렇게 없애버립니다, 바로가기 아이콘에 걸려있는 화살표를. 어차피 바탕 화면에 몇개 임시 폴더와 바로가기 아이콘만 쓰기 때문에 눈에 걸리는 것을 지우기 위해서입니다.

그런데 이 PowerToysXP에 포함된 TweakUI(Version 2.00.1.0 기준)은 버그가 있습니다. 그것은 아이콘의 컬러 비트를 잘못 지정해서 4비트(16색)으로 깨지게 나오게 하는 버그입니다.

이렇게 나와야할 것이












이렇게 나오고 맙니다.











그 원인은 다음과 같습니다. TweakUI가 바로가기 아이콘에 오버레이되는 이미지를 고치기 위해서 레지스트리의 일부분을 고치는데 그것을 정상적으로 체크하지 못 하기 때문입니다.

그것은 HKEY_CURRENT_USERControl PanelDesktopWindowsMetricsShell Icon BPP의 값을 바꿔버리기 때문입니다.

이 레지스트리 값은 10진수로 Windows에서 표시할 아이콘의 컬러 수를 지정합니다. 그러나 이 값에 문제가 생기기 때문에 정상적으로 표시되지 않습니다. 이 값을 강제적으로 32로 잡기 때문에 32비트 컬러 모드가 아닐 경우 아이콘 색은 깨져서 4비트(16색)으로 표시되게 됩니다.

32비트 모드를 바탕화면에서 쓴다면 문제가 없습니다만, 16비트를 쓴다면 다음과 같이 해결해야합니다.


위와 같이 레지스트리 편집기를 열어 해당 값을 16으로 넣어야합니다. 16진수가 아니라 10진수의 16입니다. 주의하셔서 잡으시면 됩니다.

원래 바탕 화면을 16비트 컬러로 쓰다가 TweakUI 문제 때문에 어쩔 수 없이 32비트만을 썼습니다만, QAOS(http://www.qaos.com)에서 힌트를 얻어서 결과값을 조사한 결과 위와 같은 답을 얻었습니다. 그 동안 저를 괴롭히던 문제에서 해결되었습니다.

©2004 Microsoft Corporation. All rights reserved.

TweakUI의 Repair 메뉴에서 Rebuild Icons를 선택해도 위와 같은 문제가 발생합니다. 아무래도 TweakUI가 아이콘 계열 메뉴를 건드릴 때 무조건적으로 위의 레지스트리 값을 32로 바꾸기 때문인 듯 합니다.

그런데 왜 하필 16비트 모드를 쓰냐구요?


그렇게 안하면 RealVNC라는 원격조정 어플리케이션이 무지막지하게 느려지거든요!!!