일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- IF (식)
- EnvDiv
- EnvSub
- EnvSet
- SetEnv
- IfWinExist
- SetKeyDelay
- autohotkey
- API
- MouseClick
- DetectHiddenWindows
- EnvMult
- Blocks
- IfInString
- StringGetPos
- EnvAdd
- 식
- 함수
- ControlGetText
- ControlSend
- if(식)
- 식의 설명
- SetMouseDelay
- Threads
- Var:=식
- SetTitleMatchMode
- if
- SetControlDelay
- 배열
- Menu
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
SHGetFolderPath(A) 본문
SHGetFolderPath(A)
CSIDL 치(으)로부터, 대응하는 폴더의 패스명을 취득합니다.
HRESULT SHGetFolderPathA( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPTSTR pszPath );
SHELL32.DLL 또는 SHFOLDER.DLL
인수
- hwndOwner
-
오너 윈도우의 핸들을 지정합니다.통상, 이 파라미터에는 0 (NULL) 하지만 지정됩니다.이 파라미터가 0 (NULL) (이)가 아니고, 한편, 폴더에 액세스 하는데 다이얼 업 접속이 필요한 경우에, 이 윈도우에 대해서 유저 인터페이스 prompt가 표시됩니다.
- nFolder
-
패스명을 취득하는 폴더를 식별한다 CSIDL 치(을)를 지정합니다.실폴더만이 유효하고, 가상 폴더를 지정했을 경우에는 함수는 실패합니다.폴더의 CSIDL 값에 CSIDL_FLAG_CREATE (을)를 결합해 지정하는 것으로, 폴더가 존재하지 않는 경우에, 자동적으로 대응하는 폴더가 작성됩니다.
- hToken
-
특정의 유저를 나타내는데 사용되는 액세스 토큰을 지정합니다. Windows 2000 보다 전의 시스템에서는, 이 파라미터에 0 (NULL) (을)를 지정해야 합니다.그 이후의 시스템에 대해도, 일반적으로 이 파라미터에는 0 (NULL) 하지만 지정됩니다.
- dwFlags
-
어느 쪽의 패스가 돌려주어지는지를 지정하는 플래그를 지정합니다.이 파라미터는, CSIDL 값에 할당할 수 있고 있는 폴더가 유저에 의해서 이동되거나 이름이 변경될지도 모르는 경우에 사용됩니다.
치 의미 0 (SHGFP_TYPE_CURRENT) 폴더의 현재의 패스명을 돌려줍니다.
1 (SHGFP_TYPE_DEFAULT) 폴더의 디폴트의 패스명을 돌려줍니다.
- pszPath
-
패스명을 나타내는 눌 종단 문자열을 격납하는 버퍼의 주소를 지정합니다.이 버퍼의 사이즈는 적어도 260 (MAX_PATH) 아르바이트(Unicode 판의 경우는 260 (MAX_PATH) 문자) 이상이 아니면 안됩니다.함수가 실패하는지, (S_FALSE) (을)를 돌려주었을 경우는, 공문자열이 됩니다.
반환값
HRESULT 형태의 코드(에러의 경우에 최상위비트가 세트 된다)가 돌아갑니다.(ANSI판의 경우는 함수가 실패했을 때에, 최상위비트가 세트 되어 있지 않은 값 S_FALSE (을)를 돌려주는 경우가 있으므로 주의.) 이 코드는 이하의 값이 되는 경우가 있습니다.
치 | 의미 |
---|---|
0x00000001 (S_FALSE) |
SHGetFolderPathA (ANSI판 함수) 마셔: nFolder 파라미터의 CSIDL 값은 유효합니다만, 그 폴더가 존재하지 않습니다. |
0x80000008 (E_FAIL) |
SHGetFolderPathW (Unicode판 함수) 마셔: nFolder 파라미터의 CSIDL 값은 유효합니다만, 그 폴더가 존재하지 않습니다. |
0x80000003 (E_INVALIDARG) |
nFolder 파라미터에 CSIDL 값으로 해서 무효인 값이 지정되었습니다. |
해설
이 함수는, 이전의 버젼의 쉘에 포함된다 SHGetSpecialFolderPath 함수의 슈퍼 세트입니다. Shell32.dll Version 5.0 (Windows Me/2000)보다 전의 시스템에서는, SHGetFolderPath 함수는 SHFolder.dll (으)로부터 제공됩니다.이 DLL (은)는, Microsoft Internet Explorer 5.0 이후에 배포됩니다. SHFolder.dll (은)는 현재의 플랫폼의 버젼의 함수를 호출합니다.이것에 실패하면, 적절한 행동을 흉내내려고 시도합니다.이 함수는 현재 Shell32.dll 에 실장되고 있습니다만, 호환성이기 때문에 계속해 SHFolder.dll 그리고 서포트됩니다.
CSIDL 치 가운데, 이하의 것만이 서포트됩니다.
- CSIDL_ADMINTOOLS
- CSIDL_COMMON_ADMINTOOLS
- CSIDL_APPDATA
- CSIDL_COMMON_APPDATA
- CSIDL_COMMON_DOCUMENTS
- CSIDL_COOKIES
- CSIDL_FLAG_CREATE
- CSIDL_HISTORY
- CSIDL_INTERNET_CACHE
- CSIDL_LOCAL_APPDATA
- CSIDL_MYPICTURES
- CSIDL_PERSONAL
- CSIDL_PROGRAM_FILES
- CSIDL_PROGRAM_FILES_COMMON
- CSIDL_SYSTEM
- CSIDL_WINDOWS
대응 정보
Shell32.dll Version 5.00 이후
Windows Me / 2000 이후
SHFolder.dll
Windows 98 SE 이후 / Windows NT 4.0 SP4 이후
Internet Explorer 5.0 이후를 인스톨 했다 Windows 95 / 98 / NT 4.0
'Ntool Works > 작업 참조' 카테고리의 다른 글
SHGetSpecialFolderLocation (0) | 2007.11.08 |
---|---|
SHGetPathFromIDList(A) (0) | 2007.11.08 |
SHGetMalloc (0) | 2007.11.08 |
SHFreeNameMappings (0) | 2007.11.08 |
SHFileOperation(A) (0) | 2007.11.08 |