MSDN에 가서 확인한 결과 CSIDL 값중 CSIDL_PROGRAM_FILES 이 있는데
SHGetSpecialFolderLocation() 쓰려니
CSIDL_PROGRAM_FILES 상수가 'undeclared Identifier'라고 에러가 뜹니다.
전부 확인해 보지 못했지만 CSIDL_PERSONAL 같은 값을 넣으면 에러 없이 정확한
값을 리턴해 주는 데요..
CSIDL 값들은 shlobj.pas 에 기술되어 있는 있는데 MSDN에 나온 값들에
절반도 정의되어 있지 않습니다.
패키지를 다시 컴파일해서 사용하려 해도 CSIDL_PROGRAM_FILES 의 정확한 상수
값을 알 수가 없으니 막막합니다. 대충 때려 잡아도 한 30번 정도는 해야
될 것 같은데요..
다른 방법으로도 원하는 폴더명을 얻을 수는 있지만 특이한 사용자가 있을 경우
에러가 발생할 것 같습니다.
누구 해결방법이나 CSIDL_PROGRAM_FILES의 상수값을 알고 계신분은 도움 주십시요.
현재 델파이 최신 버전인 v5.0에서는 쉘 v4.72까지밖에 지원을 안합니다. 윈도우2000과
IE v5.5에 깔린 쉘v5.0이상에서 정의된 상수나 함수들은 직접 정의해서 사용하는 수 밖
에 없습니다. CSIDL 상수리스트는 최신버전의 VC++의 shlobj.h파일에 보시면 있습니다.
지금 저한테 이 파일이 없어서 알려드리지 못하네요... 주위 분들중 VC하시는 분에게
얻으셔서 보세요...
^^ 항상 즐코하세요.
정덕 wrote:
> MSDN에 가서 확인한 결과 CSIDL 값중 CSIDL_PROGRAM_FILES 이 있는데
> SHGetSpecialFolderLocation() 쓰려니
> CSIDL_PROGRAM_FILES 상수가 'undeclared Identifier'라고 에러가 뜹니다.
>
> 전부 확인해 보지 못했지만 CSIDL_PERSONAL 같은 값을 넣으면 에러 없이 정확한
> 값을 리턴해 주는 데요..
>
> CSIDL 값들은 shlobj.pas 에 기술되어 있는 있는데 MSDN에 나온 값들에
> 절반도 정의되어 있지 않습니다.
>
> 패키지를 다시 컴파일해서 사용하려 해도 CSIDL_PROGRAM_FILES 의 정확한 상수
> 값을 알 수가 없으니 막막합니다. 대충 때려 잡아도 한 30번 정도는 해야
> 될 것 같은데요..
>
> 다른 방법으로도 원하는 폴더명을 얻을 수는 있지만 특이한 사용자가 있을 경우
> 에러가 발생할 것 같습니다.
>
> 누구 해결방법이나 CSIDL_PROGRAM_FILES의 상수값을 알고 계신분은 도움 주십시요.
>
>
>