WIN2000启动的时候,可以选择不同的用户,一般来说,使用的都是管理员,这样的话所有的文件都可以无条件的打开,但是如果使用受限制的用户的话,有一些文件夹和文件是不能被打开的。我现在要做的一段程序就是完成这个功能。在向硬盘里写一个文件之前要先检查用户的权限,看此用户是否拥有向所选择的文件夹下写文件的权限。请问应该使用哪几个API函数。附自己的程序
TCHAR szDir[MAX_PATH * 2];
BROWSEINFO bi;
LPITEMIDLIST pidl;
ZeroMemory(&bi,sizeof(bi));
bi.hwndOwner = hWndCtl;
bi.pidlRoot = pidlRoot;
bi.pszDisplayName = 0;
LoadString ( hInstance, IDS_ZB_TMD_DIRSELECT_TITLE, lpText, BUFFER_SIZE );
bi.lpszTitle = lpText;
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_DONTGOBELOWDOMAIN;
bi.lpfn = SHBroeseCallbackProc;
bi.lParam = (LPARAM)szDir;
pidl = ::SHBrowseForFolder( &bi );
if (pidl)
{
ZeroMemory( szDir, sizeof( szDir) );
if( SHGetPathFromIDList( pidl,szDir ) )
{
}
}
其中szDir就是所选择的文件夹,需要的就是根据当前使用计算机的用户的权限来判断此用户有没有在该文件夹下写文件的权限。
TCHAR szDir[MAX_PATH * 2];
BROWSEINFO bi;
LPITEMIDLIST pidl;
ZeroMemory(&bi,sizeof(bi));
bi.hwndOwner = hWndCtl;
bi.pidlRoot = pidlRoot;
bi.pszDisplayName = 0;
LoadString ( hInstance, IDS_ZB_TMD_DIRSELECT_TITLE, lpText, BUFFER_SIZE );
bi.lpszTitle = lpText;
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_DONTGOBELOWDOMAIN;
bi.lpfn = SHBroeseCallbackProc;
bi.lParam = (LPARAM)szDir;
pidl = ::SHBrowseForFolder( &bi );
if (pidl)
{
ZeroMemory( szDir, sizeof( szDir) );
if( SHGetPathFromIDList( pidl,szDir ) )
{
}
}
其中szDir就是所选择的文件夹,需要的就是根据当前使用计算机的用户的权限来判断此用户有没有在该文件夹下写文件的权限。
http://blog.csdn.net/fzd999/archive/2004/08/19/79094.aspx