#include <stdlib.h>
#include <shlobj.h>
#include <stdio.h>
BOOL SelectFile(char * sPath, const char * szTitle)
{
BOOL bRet = FALSE;
LPCITEMIDLIST lpItemDList;
BROWSEINFO bi = {
NULL,
NULL,
sPath,
szTitle,
BIF_DONTGOBELOWDOMAIN|BIF_BROWSEINCLUDEFILES,
NULL,
NULL,
0
};
if((lpItemDList=SHBrowseForFolder(&bi)))
{
if((bRet = SHGetPathFromIDList(lpItemDList, sPath)))
GetShortPathName((LPCTSTR)sPath,sPath,strlen(sPath));
else
sPath[0] = '\0';
}
return bRet;
}
int main()
{
char sPath[256] = {0};
if(!SelectFile(sPath, "Выберите файл или каталог"))
printf("Error open path %s\n",strerror(GetLastError()));
else
printf("Selected path %s\n",sPath);
system("pause");
return 0;
}