초기화 파일을 Windows에 넣을 위치
-
12-09-2019 - |
문제
Windows 시스템에 응용 프로그램 설정을 배치하기위한 허용 가능한 시작점을 찾고 있습니다. 나는 둘 이상의 응용 프로그램이 있습니다. 개인적인 이유로 레지스트리를 사용하고 싶지 않습니다. 일반 텍스트 초기화 파일 (.ini)을 선호합니다. 또한 실행 파일과 동일한 디렉토리에 파일을 보관하고 싶지 않다고 생각합니다. 이상적인 상황을 통해 사용자 나 시스템 관리자가 쓸 수있는 일반적인 곳에 보관할 수 있습니다.
맞아, 난 Windows 사용자가 아니야, 내 첫 추측은 $HOME/.my_company_name
그리고 /etc/my_company_name
, 그러나 창문 에서이 장소와 개념적으로 동등한 것이 있습니까?
그냥 조사 SET
출력 및 추측 :
%APPDATA% %HOMEDRIVE%%HOMEPATH%\Local Settings %SYSTEMROOT%
그건 그렇고 : 여전히 Windows 서비스 내에서 이러한 변수가 여전히 존재하는지 확인해야합니다 ...
해결책
AppData가 당신이 원하는 것이라고 생각합니다.
shgetfolderpath (shfolder.dll)를 사용 하여이 프로그래밍 방식으로 얻을 수 있습니다.
에서 MSDN '데이터 및 설정 관리' (섹션 4.2 '응용 프로그램 데이터를 올바르게 분류하고 저장하는 참조') :
TCHAR szAppData[MAX_PATH];
…
hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData);
추가 [company name]\[product name]\[version]
szappdata를 사용하여 PathAppend:
PathAppend(szAppData, "Company\Product\1.0\File.ini")
도 있습니다 CSIDL_COMMON_APPDATA
비 사용자 특정 데이터의 경우 CSIDL_LOCAL_APPDATA
비 로밍 데이터의 경우 (사용자가 다른 컴퓨터에 로그인 할 때 네트워크를 통해 복사해서는 안되는 데이터).