2010-04-23 5 views
6

컴퓨터에 설치된 모든 글꼴이 열거 된 콤보 상자를 만들고 싶습니다. 나는 이것이 어떻게 행해졌는지 잘 모르겠습니다. 이것을 얻으려면 레지스트리에 액세스해야합니까? 감사합니다글꼴 목록 가져 오기 (Win32)

+0

훌륭한 솔루션 : http://stackoverflow.com/questions/3486546/enumerating-active-fonts-in-c-sharp-using-dll-call-to-enumfontfamiliesex-has-me – user20493

답변

8

Win32 API 함수 EnumFontFamiliesEx을 사용해야합니다. 이 함수를 호출하여 EnumFontFamExProc 유형과 일치하는 콜백 함수를 전달합니다. 콜백 함수는 EnumFontFamiliesEx가 찾은 모든 글꼴에 대해 한 번 호출됩니다.

내가 ASCII 버전 (EnumFontFamiliesExA) 동아시아 언어 글꼴에 대한 몇 가지 매우 이상한 동작을 표시 본 유니 코드 버전 (EnumFontFamiliesExW)를 사용하는 것이 좋습니다.

링크 된 기사에는 예제 코드가 있습니다. 여기에 C#에서

4

그것을하는 winapi 방법은 EnumFontFamiliesEx 기능을 사용하고 있습니다. 설치된 모든 글꼴을 나열하려면 기본 매개 변수 DEFAULT_CHARSET으로 채워진 구조체를 전달해야합니다.

자세한 내용은 MSDN을 참조하십시오.

+0

또는'하여 EnumFontFamilies '만약 당신이 "Ex"능력을 모두 필요로하지 않는다면 ... –