(C# - WinForms) 做资源管理器如何处理拒绝访问的文件夹? 我正在做类似于Windows资源管理器一样的东西.现在已经差不多大公告成了.但是有一个问题阿. 如何处理拒绝访问的文件呢? 尤其是系统文件 经常拒绝访问.但是作为资源管理器当然要所有文件都显示. 怎么办呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对,还有这个效率的问题.我不知道Windows资源管理器的文件是怎么做的,感觉我自己做的资源管理器如果遇到文件比较多的时候的话,,加载会比蜗牛还慢.还有我要实现双击图标可以启动该程序的功能,但是每当我一双击图标时,总是出现异常:另一个程序正在使用此文件,该进程无法访问.怎么回事呢?程序简易流程图 我使用的是DirectoryInfo 和 FileInfo获取ICO使用的是SHGetFileInfo. 1 遍历文件夹效率问题 2 系统文件拒绝访问问题 语言不好说,打个比方吧 TreeNode node = this.treeView1.Nodes.Add("D:\\"); AddNode(node, "D:\\");//增加节点 public void AddNode(TreeNode node, string path) { try { DirectoryInfo dir = new DirectoryInfo(path); FileInfo[] files = dir.GetFiles(); foreach (FileInfo f in files) { node.Nodes.Add(f.FullName); } DirectoryInfo[] dirs = dir.GetDirectories(); foreach (DirectoryInfo d in dirs) { node.Nodes.Add(d.FullName); } } catch { }//出错以后继续执行.. }//点击节点的时候增加下层的节点private void treeView1_AfterExpand(object sender, TreeViewEventArgs e) { if (e.Node.Nodes.Count > 0) { foreach (TreeNode node in e.Node.Nodes) { if (Directory.Exists(node.Text)) AddNode(node, node.Text); } } } datagridview更新问题 enterprise library4 logging 的时间与系统时间不一致....大家来看看 用C#实现的一个表格加链接的问题 如何填写其它winform程序 一个小问题回答对的,我给你100分 幸好我备份了,否则差点哭死 不用正则怎么样截取字符串,我只要知道怎么写循环就ok了 c#中如何把一堆(不是一个)textBox中的内容update到SQL数据库中呢?急!!! 动态页面导航条 各位C#高手请谈一下用C#开发大型mis系统的可行性 求SOCKET编程同步收发数据好的解决办法? 新手咨询,如何使用对象filestream和streamReader?
怎么回事呢?程序简易流程图
获取ICO使用的是SHGetFileInfo.
2 系统文件拒绝访问问题
语言不好说,打个比方吧 TreeNode node = this.treeView1.Nodes.Add("D:\\"); AddNode(node, "D:\\");
//增加节点
public void AddNode(TreeNode node, string path)
{
try
{
DirectoryInfo dir = new DirectoryInfo(path);
FileInfo[] files = dir.GetFiles();
foreach (FileInfo f in files)
{
node.Nodes.Add(f.FullName);
}
DirectoryInfo[] dirs = dir.GetDirectories();
foreach (DirectoryInfo d in dirs)
{
node.Nodes.Add(d.FullName);
}
}
catch { }//出错以后继续执行..
}//点击节点的时候增加下层的节点
private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
{
if (e.Node.Nodes.Count > 0)
{
foreach (TreeNode node in e.Node.Nodes)
{
if (Directory.Exists(node.Text))
AddNode(node, node.Text);
}
}
}