> 백엔드 개발 > C++ > 64비트 Windows에서 '프로그램 파일(x86)' 경로를 안정적으로 가져오는 방법은 무엇입니까?

64비트 Windows에서 '프로그램 파일(x86)' 경로를 안정적으로 가져오는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-29 20:16:15
원래의
869명이 탐색했습니다.

How to Reliably Get the

Windows 64비트 시스템에서 "프로그램 파일(x86)" 경로 얻기

사용자 컴퓨터에 소프트웨어가 있는지 확인하려고 할 때 경로를 사용하여 System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)MyInstalledApp이 부정확해질 수 있음 64비트 Windows Vista의 경우. 이는 코드가 x64 "Program Files" 폴더를 반환하는 반면 문제의 애플리케이션은 "Program Files (x86)"에 있기 때문입니다.

이 문제를 완화하려면 다음 기능을 사용하면 일관되게 작동합니다. 모든 구성에서 x86 "Program Files" 디렉터리를 반환합니다.

static string ProgramFilesx86()
{
    if (8 == IntPtr.Size ||
        (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
    {
        return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
    }

    return Environment.GetEnvironmentVariable("ProgramFiles");
}
로그인 후 복사

이 함수에서:

  • IntPtr.Size == 8 조건은 시스템이 64비트인지 확인합니다.
  • !String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")) 조건은 시스템이 64비트 프로세스를 실행하고 있는지 확인합니다. 기본 하드웨어에 관계없이 64비트 운영 체제 Architecture.
  • 이러한 조건 중 하나라도 충족되면 함수는 환경 변수 ProgramFiles(x86)에서 얻은 x86 "Program Files" 폴더 경로를 반환합니다. 그렇지 않으면 기본 "Program Files" 경로가 반환됩니다.

위 내용은 64비트 Windows에서 '프로그램 파일(x86)' 경로를 안정적으로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿