Windows XP 및 Vista 응용 프로그램에 대한 사용자 정보를 저장하기에 가장 좋은 장소

StackOverflow https://stackoverflow.com/questions/147533

문제

이 응용 프로그램에 대해 사용자의 로그인 정보를 암호화 된 양식으로 저장해야하지만 파일을 저장하기에 가장 적합한 장소는 확실하지 않습니다. 사용자 당 원하는대로 프로그램 응용 프로그램 폴더에 저장하고 싶지 않습니다.

그렇다면 저장하는 가장 좋은 폴더 (또는 방법)는 무엇입니까?

편집 : C ++ 사용.

도움이 되었습니까?

해결책

C : 문서 및 설정 %사용자 이름% 로컬 설정 응용 프로그램 데이터는 적절한 위치 일 수 있습니다. 위키 백과. 이 기사는이 위치가 "사용자 별 및 컴퓨터 별 응용 프로그램 설정"에 사용된다고 말합니다.

편집 : Cruizer는 Vista에서는 C : Users % username%이며 하드 코딩되지 않아야한다고 주석에서 지적했습니다. 감사.

다른 팁

XP 및 Vista의 Cryptoapi의 일부인 DPAPI (Data Protection API)를 사용하십시오. 다음은 DPAPI에 대한 좋은 개요입니다. http://msdn.microsoft.com/en-us/library/ms995355.aspx

예, 로컬 애플리케이션 경로는 승자처럼 보입니다.

MSDN 에서이 기사를 C ++로 가져 왔습니다. http://msdn.microsoft.com/en-us/library/bb762494.aspx

예시:

char localAppPath[MAX_PATH];
SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, localAppPath);

.NET를 사용하고 있습니까? 어때 분리 된 스토리지? 그렇게하면 디렉토리 위치에 대해 걱정할 필요가 없습니다.

사용자 정보는 항상%HomeDrive %% HomePath%(사용자 홈 디렉토리에지도)의 일부 하위 디렉토리로 이동해야합니다. 예외 없음. 사용자 당 응용 프로그램 특정 설정을위한 좋은 장소는 %appdata %내부의 서브 디렉토리입니다. XP의 "%HomeDrive %% HomePath% 응용 프로그램 데이터"및 "%Homedrive %% HomePath% AppData Roaming"에서 : Vista.

.NET을 사용하여 특수 폴더를 얻는 경우 사용할 수 있습니다.

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

또는

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

비 로밍 버전의 경우.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top