|
Mr.Yoon 님이 쓰신 글 :
: 갑자기 의문이 생긴 점이 있어 이렇게 질문을 올립니다...
: Install wizard를 사용하여 Setup Program을 만들다보면
: 설치될 파일의 위치를 설정하는 곳이 있더라고요...
: 근데 그곳에 보면 ...\Program Files\ 나 \Program Files\Common Files\ 에
: 바로 설치가 될 수 있게 Path가 정의되어 있는데
: GetWindowsDirectory나 GetSystemDirectory와 같은 API 함수가 따로 있는지요...
: 만약 있다면 Vcl에도 존재할거 같은데 어떤 것들이 있는지 궁금합니다...^^
: 부탁드립니다...(__)
제가 올린 질문에 제가 답변을 쓰게 되는군요...^^;;;
근데 제가 찾은 아래의 해결방법도 정도(?)인지는 확실치 않습니다.
다만 찾다보니깐 방법이 2가지 정도 나오더라고요^^;;;
1. ExpandEnvironmentStrings함수를 사용하여 Program Files의 Dir Path를 찾는 방법...
(단, 위에 함수를 이용해서는 하부의 Common Files Dir Path를 찾는데는 실패했습니다...ㅡㅡ)
위의 함수의 첫번째 파라메타에 "%ProgramFiles%" 이렇게 하고 두번째 파라메타에 버퍼를 주시면
현재 운용중인 OS의 Program Files Dir Path를 얻어오더라고요...^^
ex) char *path;
path = new char [MAX_PATH];
ExpandEnvironmentStrings("%ProgramFiles%", path, MAX_PATH);
printf("%s", path); // MessageBox(NULL, path, "Program FIles Dir Path", MB_OK);
delete path;
결과값출력 : "C:\Program Files"
2. 두번째 방법은 Registry의 정보를 읽어다가 사용하는 방법입니다...
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ProgramFilesDir
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\CommonFilesDir
위의 두정보를 읽어오면 각각의 Program FIles Dir Path와 그 하부의 Common Files Dir Path를
구할 수 있더라고요^^;;;
위의 두방법 말고 더 정확하게 구할 수 있으면 가르쳐 주셨으면 합니다...^^;;;
그럼 즐프하세요~~~미수타윤이였습니다...(__)
|