|
|
利用windows提供的接口编写。浏览目录和删除目录与在桌面
上浏览删除目录一样。删除的时候会提示,系统文件是否删除,
只读文件是否删除等信息。
浏览目录代码:
BOOL fnGetPath( HANDLE hWnd, TCHAR * pReturnPathName )
//pReturnPathName 的长度至少为 MAX_PATH
//hWnd 为以哪个窗口为父窗口显示浏览目录
{
BROWSEINFO bi;
LPITEMIDLIST pIdl;
if( pReturnPathName == NULL ) return FALSE;
ZeroMemory(&bi, sizeof(bi));
bi.hwndOwner = hWnd;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
pIdl = SHBrowseForFolder( &bi );
if( pIdl != NULL )
{
SHGetPathFromIDList(pIdl, pReturnPathName);
// pReturnPathName 中存储的就是选择的目录名称。
return TRUE;
}
return FALSE;
}
删除目录代码:
BOOL fnDeleteDir( HANDLE hWnd, TCHAR * pPath )
{
SHFILEOPSTRUCT sf = {0};
int iRtn;
if( pPath == NULL ) return FALSE;
sf.hwnd = hWnd ;
sf.wFunc = FO_DELETE;
sf.pFrom = pPath;
sf.fFlags = FOF_NOERRORUI |FOF_SILENT ;
iRtn = SHFileOperation(&sf);
if( iRtn ) return TURE;
return FALSE;
} |
|