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表示是否允许改动库
        }
改代码在如下路径出添加一个叫“我的库”的库

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



相关文章推荐

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

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

C#将遨游收藏夹中的网页自动保存到本地

using System; using System.IO; using System.Net; using System.Text; using System.Windows.Forms; ...

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

一、C#创建快捷方式要创建快捷方式须引用IWshRuntimeLibrary.dll,引用方式为:对项目添加引用——>选择COM组件——>选择"Windows Script Host Object M...

配置Windows(Win7)导航面板(Navigation Pane)隐藏/显示收藏夹、库、网络等

Windows浏览器左侧的导航面板默认项目比较多,使用起来很不方便,通常我希望打开窗口时,左侧的导航面板只显示“库”和“计算机”,这里介绍一下隐藏(或者是关闭)导航面板的中各类项目的方法:首先,下列所...

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

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

FireFox导入导出Cookies和收藏夹的方法

FireFox是一个常用的浏览器,扩展插件众多,和IE相比有很多优点,不过有些细小的地方似乎考虑的不太好,比如用户经常会碰到系统重新安装等问题,这就需要导入导出FireFox浏览器的Cookies和收...

将猎豹浏览器的收藏夹转移到Firefox的书签

本人之前一直使用Chrome,后来因为常常重装系统,Chrome的同步功能不能直接使用。这个很蛋疼,就换用了猎豹浏览器,用了很长时间,但是近期一直在做前端发开,Firefox的开发者功能当然不用说是最...

教你如何拷贝IE浏览器的网址收藏夹

教你如何拷贝IE浏览器的网址收藏夹 很多人在网上冲浪的时候,浏览到好的网址都喜欢收藏,一般收藏到IE浏览器的收藏夹中,日积月累,浏览器的收藏夹里就有很多很有用...

资源收藏夹

个人收藏的编程学习网站、技术博客、技术社区、竞赛、学术论文、公众号、书籍等...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#操作文件夹、收藏夹、库
举报原因:
原因补充:

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