winapi
  • operating-system
  • version
  • platform
  • visual-styles
  • 2012-10-04 4 views 1 likes 
    1

    나는 비주얼 스타일은 다음과 같이 내 프로그램 매니페스트 포함 할 때 :Win32 Visual Styles와의 호환성?

    // Embed visual style XML manifest 
    #pragma comment(linker,       \ 
        "\"/manifestdependency:type='Win32'"   \ 
        " name='Microsoft.Windows.Common-Controls'" \ 
        " version='6.0.0.0'"      \ 
        " processorArchitecture='*'"    \ 
        " publicKeyToken='6595b64144ccf1df'"  \ 
        " language='*'\""       \ 
    ) 
    
    // Link common controls library 
    #pragma comment(lib, "ComCtl32.lib") 
    

    은 내 프로그램은 Windows XP에서 실행됩니다 의미합니까? 또는 시각적 스타일이 컴퓨터에 없으면 운영 체제 기본 스타일 만 사용합니까? Visual Studio 2008로 개발중인 프로그램에서 시각적 스타일을 활성화했기 때문에 실행 가능한 Windows의 초기 버전이 무엇인지 알고 싶습니다. WINVER에서 시각적 스타일을 지원하는 버전을 실행하고 있는지 확인해야합니까? 그렇다면 전처리 기에서 어떤 버전 번호를 확인해야합니까? 내가 알고 싶은 또 다른 점은 시각적 스타일이 없으면 프로그램을 실행할 수있는 가장 낮은 버전은 무엇입니까?

    답변

    6

    내 프로그램이 Windows XP에서만 실행된다는 의미입니까? 또는 시각적 인 스타일이 컴퓨터에 없으면 그들은 단지 시스템 기본 스타일을 사용합니까?

    후자는 사실과 documentation 정확한 동작을 정의 (강조는 광산) : 당신이 당신의 응용 프로그램이 비주얼 스타일을 사용하려면

    , 당신은 응용 프로그램 매니페스트 또는 컴파일러 지시문을 추가해야이있는 경우 ComCtl32.dll 버전 6 을 사용해야합니다.

    동일한 페이지의 다른 섹션에는 이전 버전과의 호환성 측면에서주의해야 할 사항이 나와 있습니다. Making Your Application Compatible with Earlier Versions of Windows. 시각적 스타일에, 그것은 상태 : 비주얼 스타일 아키텍처의 많은

    은 간단 컨트롤의 모양을 변경을 지원하지 을 이전 버전의 Windows에 제품을 배송하기 위해 계속 수 있도록 설계되었습니다.

    4

    이것은 문제가되지 않습니다. 매니페스트는 Windows에 일반 컨트롤 DLL 버전 6이 필요하다고 간단히 알립니다. side-by-side 캐시 (c : \ windows \ winsxs)에 저장된 것이고 c : \ windows \ system32에 저장된 레거시 캐시는 아닙니다. side-by-side 캐시는 DLL 지옥의 대책이며 동일한 이름을 가진 여러 버전의 DLL을 저장할 수 있습니다.

    매니페스트는 이전 버전의 Windows에는 영향을 미치지 않지만 해당 버전은 매니페스트에 대해 알지 못하므로 찾지 않습니다.

     관련 문제

    • 관련 문제 없음^_^