FindFirstFile,FindNextFile怎么访问System Volume Information 如题,提权还是其它什么方式,解决问题的会追加分数. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/t/20030526/19/1836864.html 谢ls回复,我说的是程序里用api访问,不是手工访问 在程序修改下面两个可以通过修改注册表,修改注册表就不用说了吧:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\隐藏受保护的操作系统文件(推荐) //ShowSuperHidden=1 显示隐藏的系统文件夹,ShowSuperHidden=0不显示显示所有文件和文件夹//Hidden=1修改完注册表以后就可以用filefind了 ls,不是手工访问啊,,,,,程序里用api访问 在程序修改下面两个可以通过修改注册表,如何修改注册表就不用说了吧:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\隐藏受保护的操作系统文件(推荐) //ShowSuperHidden=1 显示隐藏的系统文件夹,ShowSuperHidden=0不显示显示所有文件和文件夹//Hidden=1修改完注册表以后就可以用filefind了。用完了记得把注册表设置再改回来 使用SHELLFOLDER, ITEMIDLIST,楼主可参考CMFCShellList System Volume Information 这里有什么数据有价值访问的 客户给你一个需求,遍历某个驱动器 z:\ 下所有文件, 要访问 System Volume Information 这样的文件夹, 还有类似的 c:\Recovery, c:\RECYCLER\文件夹 也是同样的问题 客户不管你 System Volume Information 的文件夹是不是有价值 http://stackoverflow.com/questions/4736866/system-volume-information-access-denied 以管理员运行int main(int argc, char* argv[]){ HANDLE token,findfile;WIN32_FIND_DATA finddata; if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&token)) { TOKEN_PRIVILEGES priv; priv.PrivilegeCount=1; priv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; priv.Privileges[0].Luid.LowPart=17;//SE_BACKUP_PRIVILEGE priv.Privileges[0].Luid.HighPart=0; AdjustTokenPrivileges(token,0,&priv,sizeof priv,0,0); CloseHandle(token); } findfile=FindFirstFileA("D:\\System Volume Information\\*",&finddata); if(findfile!=INVALID_HANDLE_VALUE) { do puts(finddata.cFileName);while(FindNextFileA(findfile,&finddata)); FindClose(findfile); } return 0;} 有点小毛病int main(int argc, char* argv[]){ HANDLE token,findfile;WIN32_FIND_DATAA finddata; if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&token)) { TOKEN_PRIVILEGES priv; priv.PrivilegeCount=1; priv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; priv.Privileges[0].Luid.LowPart=17;//SE_BACKUP_PRIVILEGE priv.Privileges[0].Luid.HighPart=0; AdjustTokenPrivileges(token,0,&priv,sizeof priv,0,0); CloseHandle(token); } findfile=FindFirstFileA("D:\\System Volume Information\\*",&finddata); if(findfile!=INVALID_HANDLE_VALUE) { do puts(finddata.cFileName);while(FindNextFileA(findfile,&finddata)); FindClose(findfile); } return 0;} 关于_recordsetptr一个很奇怪的问题. 清除AfxBeginThread()返回指针时的错误处理 关于ARPG类型的游戏服务器人物漫游设计,征求大家意见! 改变起始显示的对话框 帮帮忙,告诉我这个界面怎么做的 在对话框上有一个static 文本控件,如何在当鼠标点击对话框时把Static文本中的显示内容反色显示?? how to access dao and odbc datebase??? thanks 实现 列集和散集 请教一个问题 问 kiko_lee(可是什么都不知道) 一个问题 PC和ARM的串口通信问题 处理一些书籍
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\隐藏受保护的操作系统文件(推荐) //ShowSuperHidden=1 显示隐藏的系统文件夹,ShowSuperHidden=0不显示显示所有文件和文件夹//Hidden=1修改完注册表以后就可以用filefind了
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\隐藏受保护的操作系统文件(推荐) //ShowSuperHidden=1 显示隐藏的系统文件夹,ShowSuperHidden=0不显示显示所有文件和文件夹//Hidden=1修改完注册表以后就可以用filefind了。
用完了记得把注册表设置再改回来
客户给你一个需求,遍历某个驱动器 z:\ 下所有文件, 要访问 System Volume Information 这样的文件夹, 还有类似的 c:\Recovery, c:\RECYCLER\文件夹 也是同样的问题
{
HANDLE token,findfile;WIN32_FIND_DATA finddata;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&token))
{
TOKEN_PRIVILEGES priv;
priv.PrivilegeCount=1;
priv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
priv.Privileges[0].Luid.LowPart=17;//SE_BACKUP_PRIVILEGE
priv.Privileges[0].Luid.HighPart=0;
AdjustTokenPrivileges(token,0,&priv,sizeof priv,0,0);
CloseHandle(token);
}
findfile=FindFirstFileA("D:\\System Volume Information\\*",&finddata);
if(findfile!=INVALID_HANDLE_VALUE)
{
do puts(finddata.cFileName);while(FindNextFileA(findfile,&finddata));
FindClose(findfile);
}
return 0;
}
int main(int argc, char* argv[])
{
HANDLE token,findfile;WIN32_FIND_DATAA finddata;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&token))
{
TOKEN_PRIVILEGES priv;
priv.PrivilegeCount=1;
priv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
priv.Privileges[0].Luid.LowPart=17;//SE_BACKUP_PRIVILEGE
priv.Privileges[0].Luid.HighPart=0;
AdjustTokenPrivileges(token,0,&priv,sizeof priv,0,0);
CloseHandle(token);
}
findfile=FindFirstFileA("D:\\System Volume Information\\*",&finddata);
if(findfile!=INVALID_HANDLE_VALUE)
{
do puts(finddata.cFileName);while(FindNextFileA(findfile,&finddata));
FindClose(findfile);
}
return 0;
}