使用注册表来记录文件夹对话框的打开路径

摘要:
但是,如果我们需要经常打开同一个目录,我们可以在执行ShowDialog()函数之前为SelectedPath属性分配一个值,该值在程序退出之前有效。如果希望程序下次打开此目录,则需要记录打开的路径。可以使用两种方法:第一,文件记录;2、 使用注册表。使用文件记录的一个缺点是,除了可执行程序exe之外,还必须有用户可以知道的配置文件,这是非常糟糕的。使用注册表不会出现此问题=“){//将此默认目录设置为最后选定的目录dlg。SelectedPath=defaultfilePath;}//如果(defaultfilePath!

      C#中的FolderBrowserDialog有个RootFolder属性,每次打开文件夹对话框默认指向的就是这个目录。但如果我们需要频繁打开同一个目录,则可以在ShowDialog()函数执行前,对SelectedPath属性赋值,这在程序退出前都有效,如果想要程序下次运行还是打开这个目录,则需要将打开的路径记录下来。可以使用两种方法:一、使用文件记录;二、使用注册表。

      使用文件记录有一个不好的地方,就是除了可执行程序exe外,还必须有一个配置文件,用户是可知的,这样非常的不好。使用注册表则没有这种烦恼。其使用方法如下:

      //在构造函数执行

try
{

    RegistryKey testKey = Registry.CurrentUser.OpenSubKey("TestKey");
    if (testKey == null)
    {
        testKey = Registry.CurrentUser.CreateSubKey("TestlKey");
        testKey.SetValue("OpenFolderDir", "");
        testKey.Close();
        Registry.CurrentUser.Close();
    }
    else
    {
        defaultfilePath = testKey.GetValue("OpenFolderDir").ToString();
        testKey.Close();
        Registry.CurrentUser.Close();
    }
}
catch (Exception e)
{
}

      

       //在ShowDialog()执行前执行

        if (defaultfilePath != "")  
       {  
             //设置此次默认目录为上一次选中目录                  
             dlg.SelectedPath = defaultfilePath;  
       }  

//在ShowDialog()返回Ok时执行

if (defaultfilePath != dlg.SelectedPath)
{
      defaultfilePath = dlg.SelectedPath;
      RegistryKey testKey = Registry.CurrentUser.OpenSubKey("TestKey",true);  //true表示可写,false表示只读
      testKey.SetValue("OpenFolderDir", defaultfilePath);
      testKey.Close();
      Registry.CurrentUser.Close();
}

免责声明:文章转载自《使用注册表来记录文件夹对话框的打开路径》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Thrift的TJsonProtocol协议分析Win7操作系统常见故障解决方法汇总下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

利用Pluggable Protocol实现浏览器打开本地应用程序

引子 懂HTML网页设计的人:<a href="http://t.zoukankan.com/mailto:liushaofeng89@qq.com">联系我们</a>这样的用法在网页中随处可见,只要通过点击这个超链接,系统默认的就会打开本地的outlook应用程序,并且自动创建新邮件,目标邮件接收人就是这里的liushaofen...

IE首页被恶意篡改的十二种解决方法

浏览网页时,很容易出现造成注册表被修改,使得IE默认连接首页、标题栏及IE右键菜单被改为浏览网页时的地址(多为广告信息),更有甚者使浏览者的电脑在启动时出现一个提示窗口显示自己的广告,而且有愈演愈烈之势,遇到这种情况我们该怎样办呢? 一、注册表被修改的原因及解决办法 其实,该恶意网页是含有有害代码的ActiveX网页文件,这些广告信息的出现是因为浏览者的...

删除Navicat在注册表信息

@echo offecho 正在删除navicat注册表REG DELETE HKEY_CURRENT_USERSoftwarePremiumSoftData /fREG DELETE HKEY_CURRENT_USERSoftwareClassesCLSID{2CE86A2B-F0D2-08EF-7A6D-861B86B41CC3}Info /fREG...

打开Office文件总是提示安装程序正在准备必要的文件

  Microsoft Office是windows操作系统中必备办公软件,平常也会使用Office打开Word、PPT和Excel等等各种文档,在使用过程中难免会遇到各种问题,最近有用户在win7操作系统中每次使用Office 2013打开文件时都提示“安装程序正在准备必要的文件”(如图所示),然后又显示“正在配置Microsoft Office Pro...

Inno_setup制作升级包必须面临的几个问题

这两天的时间一直在制作应用程序的升级包,期间碰到一些问题这里一并记录下来,相信这是制作升级包必须面临和解决的问题: 1. 升级包安装程序如何不再产生新的安装、卸载程序 Inno_setup中AppId是用来标识某个应用程序的唯一标识,因此升级包中的AppId字段应该和原始安装程序的AppId相同。 CreateUninstallRegKey字段,改值设置为...

Windows启动过程详解

Windows启动过程详解   我们每天都在和Windows打交道,很多人可能每天都要面对多次Windows的启动过程,可是您知道在Windows的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文试图告诉您的。 本文的适用范围 随着技术的发展,我们能够见到的...