일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 함수
- IF (식)
- EnvAdd
- SetTitleMatchMode
- SetControlDelay
- 배열
- IfInString
- Var:=식
- SetKeyDelay
- SetEnv
- if(식)
- Blocks
- API
- 식의 설명
- StringGetPos
- autohotkey
- EnvMult
- Threads
- SetMouseDelay
- if
- EnvDiv
- EnvSet
- 식
- DetectHiddenWindows
- Menu
- ControlGetText
- MouseClick
- EnvSub
- IfWinExist
- ControlSend
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
SHBrowseForFolder(A) 본문
SHBrowseForFolder(A)
유저에게 시르포르다를 선택시키기 위한 다이알로그 박스를 표시합니다.
LPITEMIDLIST SHBrowseForFolderA( PBROWSEINFO pbi // BROWSEINFO구조체 );
SHELL32.DLL
인수
- pbi
-
다이알로그 박스의 표시에 사용되는 정보를 격납했다 BROWSEINFO구조체의 주소를 지정합니다.
반환값
폴더가 선택되면, 쉘 네임 스페이스의 루트(데스크탑 폴더)로부터의 선택된 폴더의 상대적인 위치를 지정하는 아이템ID리스트(ITEMIDLIST구조체)에의 포인터(PIDL)(이)가 돌아갑니다.
다이알로그 박스의 캔슬 버튼이 밀렸을 경우는0 (NULL) 하지만 돌아갑니다.
해설
이 함수를 호출하는 어플리케이션은,COINIT_APARTMENTTHREADED플래그를 지정해CoInitializeEx함수를 호출하는 것으로COM(을)를 초기화해 두지 않으면 안됩니다.CoInitializeEx함수에COINIT_MULTITHREADED플래그를 건네주어COM(을)를 초기화하고 있는 경우,BIF_NEWDIALOGSTYLE또는BIF_USENEWUI(을)를 지정한SHBrowseForFolder함수의 호출은 실패해 버리기 위해, 주의가 필요합니다.COM(을)를 초기화하는데CoInitialize함수 또는OleInitialize함수를 사용할 수도 있습니다.
호출측 어플리케이션은, SHGetMalloc함수에 의해서 취득할 수 있는 쉘 메모 리어 locator의 IMalloc인터페이스로부터 Free메소드를 호출하는 것으로, 취득했다PIDL의 메모리 영역을 해방하지 않으면 안됩니다.
2종류의 스타일의 다이알로그 박스를 이용할 수 있습니다.종래의 스타일의 다이알로그 박스는 사이즈 변경할 수 없습니다.새로운 스타일의 다이알로그 박스를 지정하려면 BROWSEINFO구조체의ulFlags멤버에BIF_USENEWUI플래그를 지정합니다.이것에 의해, 다이알로그 박스에의 드래그 앤드 드롭, 폴더의 재정리, 쇼트 컷 메뉴, 새로운 폴더 작성, 삭제, 그 외의 쇼트 컷 메뉴 커멘드등의 기능을 추가할 수 있습니다.초기 상태에서는 종래의 다이알로그 박스보다 큽니다만, 유저가 다이알로그 박스의 사이즈를 변경할 수 있습니다.
대응 정보
Shell32.dll Version 4.00 이후
Windows 95 이후 / Windows NT 4.0 이후
'API 관련 > Win32 API 함수' 카테고리의 다른 글
ShellExecuteEx(A) (0) | 2007.11.08 |
---|---|
Shell_NotifyIcon(A) (0) | 2007.11.08 |
SetWindowRgn (0) | 2007.11.08 |
SetWindowLong(A) (0) | 2007.11.08 |
SetThreadPriority (0) | 2007.11.08 |