C#操作文件夹、收藏夹、库

原创 2014年04月16日 15:51:17

1.操作文件夹

1)获取当前程序路径

            string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
            str.Replace("\"", "");
            int ind = str.LastIndexOf("\\");
            localPath = str.Substring(0,ind);
获取当前程序的安装路径时,先获取当前程序的完整名,然后取最后一个“\”之前的子字符串即为当前路径。

2)打开文件夹,并选中文件

System.Diagnostics.Process.Start("Explorer.exe", localPath);//打开localPath
当需要选中该路径下的某个文件需要用select命令:

System.Diagnostics.Process.Start("Explorer.exe","/select," + localPath+ "\\Start.exe");//打开local以后选中目录下的start.exe文件

2.操作收藏夹

这里讲的收藏夹不是用户浏览器的Favorite,而是Links,可以理解为快捷方式。操作收藏夹需要用到快捷方式,因此添加COM引用---Windows Script Host Object Model
添加组件后,相当于添加IWshRuntimeLibrary程序集。

using IWshRuntimeLibrary;
string shortcutName = "Mylink.lnk";
//实例化WshShell对象 
//通过该对象的 CreateShortcut 方法来创建 IWshShortcut 接口的实例对象 
string userDir = Environment.GetEnvironmentVariable(@"USERPROFILE");
string Lpath = System.IO.Path.Combine(userDir+"\\Links",shortcutName);

WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(Lpath);
//设置快捷方式的目标所在的位置,path代表Links链接的位置
shortcut.TargetPath = path;
//应用程序的工作目录 
//当用户没有指定一个具体的目录时,快捷方式的目标应用程序将使用该属性所指定的目录来装载或保存文件。 
shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
//快捷方式的描述 
shortcut.Save();

以上代码会在如上位置生成一个名为MyLink的快捷方式,链接到path路径下。

3.操作库

操纵库,需要到微软网站上下载一个SDK http://archive.msdn.microsoft.com/WindowsAPICodePack/Release/ProjectReleases.aspx?ReleaseId=4906,下载之后把Microsoft.WindowsAPICodePack.dll 和 Microsoft.WindowsAPICodePack.Shell.dll添加进工程即可。

代码如下:

        static void LibraryDemo() 
        {
            string libraryName = "我的库";
            string windowFolder = @"C:\Windows";
            string programFolder = @"C:\Program Files";
            ShellLibrary library = new ShellLibrary(libraryName, true); // 第二个参数overwrite表示是否覆盖原有的库

            library.Add(windowFolder); // 添加一个目录
            library.Remove(windowFolder); // 删除一个已有目录
            library.Add(windowFolder); // 折腾一下,再添加回来
            library.Add(programFolder);

            string defaultSaveFolderPath = library.DefaultSaveFolder; // 默认保存到的文件夹,是第一个添加进库的目录
            library.DefaultSaveFolder = programFolder;// 更改默认保存到的文件夹

            library.IconResourceId = new IconReference(Assembly.GetExecutingAssembly().Location, -32512);

            ShellLibrary lib = ShellLibrary.Load(libraryName, true); // 第二个参数isReadOnly表示是否允许改动库
        }
改代码在如下路径出添加一个叫“我的库”的库

上面的程序需要用到图标,所以在项目的属性页里给程序添加一个图标。



去掉Win7资源管理器左侧导航窗格中的收藏夹、库等的方法

以收藏夹为例作简要说明。 首先打开注册表编辑器,定位到HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFol...
  • ful1021
  • ful1021
  • 2014年08月12日 10:07
  • 1968

C# 获取收藏夹中所有网址代码

//收藏夹太多太混乱,打算系统整理合并.整个工具未开发完成//下面是读取系统默认收藏夹文件中所有包含子目录中的链接网址信息代码using System;using System.Collections...
  • xqf222
  • xqf222
  • 2010年04月27日 00:11
  • 2747

将指定网页添加到收藏夹的方法(c#)

源码src下载地址:http://download.csdn.net/detail/testcs_dn/5137650  昨天想实现一个小功能,就是把正在浏览的某网页添加到收藏夹中。以前在页面直...
  • testcs_dn
  • testcs_dn
  • 2013年03月13日 17:00
  • 3456

终于搞定ie收藏夹和FIREFOX收藏夹的文件夹了

为防止装机的不便,把收藏夹放入其他盘保存:IE:默认的是: C:/Documents and Settings/yaogunyue/Favorites进入注册表:搜favorites,把里面的值全部换...
  • felio
  • felio
  • 2006年11月09日 15:16
  • 1752

删除win7资源管理器左侧家庭组/导航窗口的收藏夹、库、家庭组以及网络的方法

1.按win + r然后输入regedit打开注册表2.在找到你要删除的项的注册表项位置之后,右键单击ShellFolder,选择“权限”,然后选中Administrators,勾选上“完全控制”,确...
  • qidizi
  • qidizi
  • 2013年03月28日 16:48
  • 4300

C#操作IE收藏夹

///         /// 整理收藏夹         ///         ///         ///         ///         [DllImport(...
  • wph_1129
  • wph_1129
  • 2011年09月17日 22:45
  • 417

删除资源管理器左侧窗口收藏夹、库、家庭组和网络

转自:http://tieba.baidu.com/p/2181222711 注册表项的具体位置和修改值如下: 收藏夹的位置在:HKEY_CLASSES_ROOT\CLSID\{323CA680-C...
  • fevershen
  • fevershen
  • 2015年08月03日 00:33
  • 1353

C#对IE收藏夹的操作

C#对IE收藏夹的操作主要是用命令调用原有的内容         [DllImport("shdocvw.dll")]        public static extern int DoOrgan...
  • liguocheng
  • liguocheng
  • 2011年03月09日 21:25
  • 1104

设为主页代码及添加到收藏夹代码大全

a href=# onclick=window.external.AddFavorite("http://dotnet.aspx.cc/","【孟宪会之精彩世界】")>加入收藏a> a href=# ...
  • a311300
  • a311300
  • 2006年11月09日 13:22
  • 13936

C#创建快捷方式与添加网页到收藏夹

一、C#创建快捷方式要创建快捷方式须引用IWshRuntimeLibrary.dll,引用方式为:对项目添加引用——>选择COM组件——>选择"Windows Script Host Object M...
  • wd330260402
  • wd330260402
  • 2011年04月05日 20:55
  • 2768
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#操作文件夹、收藏夹、库
举报原因:
原因补充:

(最多只允许输入30个字)