//[c] import "windef" import "windows" //[c] public [name="c", call="__stdcall"] struct LPSHITEMID cb: USHORT abID: [1] BYTE end typedef SHITEMID = local LPSHITEMID typedef LPCSHITEMID = LPSHITEMID struct LPITEMIDLIST mkid: SHITEMID end typedef ITEMIDLIST = local LPITEMIDLIST typedef LPCITEMIDLIST = LPITEMIDLIST typedef BFFCALLBACK = {HWND,UINT,LPARAM,LPARAM} int struct LPBROWSEINFOA hwndOwner: HWND pidlRoot: LPCITEMIDLIST pszDisplayName: LPSTR lpszTitle: LPCSTR ulFlags: UINT lpfn: BFFCALLBACK lParam: LPARAM iImage: int end typedef BROWSEINFOA = local LPBROWSEINFOA typedef PBROWSEINFOA = LPBROWSEINFOA import func SHBrowseForFolderA(PBROWSEINFOA): LPITEMIDLIST import func SHGetPathFromIDListA(LPCITEMIDLIST, LPSTR): BOOL equ BIF_RETURNONLYFSDIRS = 1 equ BIF_DONTGOBELOWDOMAIN = 2 equ BIF_STATUSTEXT = 4 equ BIF_RETURNFSANCESTORS = 8 equ BIF_EDITBOX = 16 equ BIF_VALIDATE = 32 equ BIF_NEWDIALOGSTYLE = 64 equ BIF_BROWSEINCLUDEURLS = 128 equ BIF_USENEWUI = ( BIF_EDITBOX | BIF_NEWDIALOGSTYLE ) equ BIF_BROWSEFORCOMPUTER = 0x1000 equ BIF_BROWSEFORPRINTER = 0x2000 equ BIF_BROWSEINCLUDEFILES = 0x4000 equ BIF_SHAREABLE = 0x8000 equ BFFM_INITIALIZED = 1 equ BFFM_SELCHANGED = 2 equ BFFM_VALIDATEFAILEDA = 3 equ BFFM_VALIDATEFAILEDW = 4 equ BFFM_SETSTATUSTEXTA = (WM_USER + 100) equ BFFM_SETSTATUSTEXTW = (WM_USER + 104) equ BFFM_ENABLEOK = (WM_USER + 101) equ BFFM_SETSELECTIONA = (WM_USER + 102) equ BFFM_SETSELECTIONW = (WM_USER + 103) equ BFFM_SETOKTEXT = (WM_USER + 105) equ BFFM_SETEXPANDED = (WM_USER + 106) end