Ejemplo n.º 1
0
        private void OpenSpecialFolder_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            SpecialFolderInfo specialFolderInfo = e.Parameter as SpecialFolderInfo;

            HandyControl.Controls.TabItem tabItem2 = new HandyControl.Controls.TabItem();
            tabItem2.Header = specialFolderInfo.FolderPath;
            FileExplorerView fileExplorerView = new FileExplorerView();

            tabItem2.Content = fileExplorerView;
            fileExplorerView.Navigate(specialFolderInfo.FolderPath);
            tabControl.Items.Add(tabItem2);
            tabControl.SelectedIndex = tabControl.Items.Count - 1;//选择最后一个
        }
 public static string GetFolderPath(SpecialFolderInfo folder, Env.SpecialFolderOption?option = null)
 {
     return(option.HasValue ? Env.GetFolderPath((Env.SpecialFolder)folder, option.Value) : Env.GetFolderPath((Env.SpecialFolder)folder));
 }
            public static Env.SpecialFolder?MappingToEnvironment(UserInfo userInfo, SpecialFolderInfo folderInfo)
            {
                switch (userInfo)
                {
                case UserInfo.General:
                    switch (folderInfo)
                    {
                    case SpecialFolderInfo.Desktop:
                        return(Env.SpecialFolder.Desktop);

                    case SpecialFolderInfo.Programs:
                        return(Env.SpecialFolder.CommonPrograms);

                    case SpecialFolderInfo.Personal:
                        return(Env.SpecialFolder.Personal);

                    case SpecialFolderInfo.MyDocuments:
                        return(Env.SpecialFolder.MyDocuments);

                    case SpecialFolderInfo.Favorites:
                        return(Env.SpecialFolder.Favorites);

                    case SpecialFolderInfo.Startup:
                        return(Env.SpecialFolder.CommonStartup);

                    case SpecialFolderInfo.Recent:
                        return(Env.SpecialFolder.Recent);

                    case SpecialFolderInfo.SendTo:
                        return(Env.SpecialFolder.SendTo);

                    case SpecialFolderInfo.StartMenu:
                        return(Env.SpecialFolder.CommonStartMenu);

                    case SpecialFolderInfo.MyMusic:
                        return(Env.SpecialFolder.MyMusic);

                    case SpecialFolderInfo.MyVideos:
                        return(Env.SpecialFolder.MyVideos);

                    case SpecialFolderInfo.DesktopDirectory:
                        return(Env.SpecialFolder.CommonDesktopDirectory);

                    case SpecialFolderInfo.MyComputer:
                        return(Env.SpecialFolder.MyComputer);

                    case SpecialFolderInfo.NetworkShortcuts:
                        return(Env.SpecialFolder.NetworkShortcuts);

                    case SpecialFolderInfo.Fonts:
                        return(Env.SpecialFolder.Fonts);

                    case SpecialFolderInfo.Templates:
                        return(Env.SpecialFolder.CommonTemplates);

                    case SpecialFolderInfo.ApplicationData:
                        return(Env.SpecialFolder.CommonApplicationData);

                    case SpecialFolderInfo.PrinterShortcuts:
                        return(Env.SpecialFolder.PrinterShortcuts);

                    case SpecialFolderInfo.LocalApplicationData:
                        return(Env.SpecialFolder.LocalApplicationData);

                    case SpecialFolderInfo.InternetCache:
                        return(Env.SpecialFolder.InternetCache);

                    case SpecialFolderInfo.Cookies:
                        return(Env.SpecialFolder.Cookies);

                    case SpecialFolderInfo.History:
                        return(Env.SpecialFolder.History);

                    case SpecialFolderInfo.Windows:
                        return(Env.SpecialFolder.Windows);

                    case SpecialFolderInfo.System:
                        return(Env.SpecialFolder.System);

                    case SpecialFolderInfo.ProgramFiles:
                        return(Env.SpecialFolder.CommonProgramFiles);

                    case SpecialFolderInfo.MyPictures:
                        return(Env.SpecialFolder.MyPictures);

                    case SpecialFolderInfo.UserProfile:
                        return(Env.SpecialFolder.UserProfile);

                    case SpecialFolderInfo.SystemX86:
                        return(Env.SpecialFolder.SystemX86);

                    case SpecialFolderInfo.ProgramFilesX86:
                        return(Env.SpecialFolder.CommonProgramFilesX86);

                    case SpecialFolderInfo.AdminTools:
                        return(Env.SpecialFolder.CommonAdminTools);

                    case SpecialFolderInfo.Resources:
                        return(Env.SpecialFolder.Resources);

                    case SpecialFolderInfo.LocalizedResources:
                        return(Env.SpecialFolder.LocalizedResources);

                    default:
                        return(null);
                    }

                case UserInfo.Public:
                    switch (folderInfo)
                    {
                    case SpecialFolderInfo.Desktop:
                        return(Env.SpecialFolder.Desktop);

                    case SpecialFolderInfo.Programs:
                        return(Env.SpecialFolder.CommonPrograms);

                    case SpecialFolderInfo.Personal:
                        return(Env.SpecialFolder.Personal);

                    case SpecialFolderInfo.MyDocuments:
                        return(Env.SpecialFolder.MyDocuments);

                    case SpecialFolderInfo.Favorites:
                        return(Env.SpecialFolder.Favorites);

                    case SpecialFolderInfo.Startup:
                        return(Env.SpecialFolder.CommonStartup);

                    case SpecialFolderInfo.Recent:
                        return(Env.SpecialFolder.Recent);

                    case SpecialFolderInfo.SendTo:
                        return(Env.SpecialFolder.SendTo);

                    case SpecialFolderInfo.StartMenu:
                        return(Env.SpecialFolder.CommonStartMenu);

                    case SpecialFolderInfo.MyMusic:
                        return(Env.SpecialFolder.MyMusic);

                    case SpecialFolderInfo.MyVideos:
                        return(Env.SpecialFolder.MyVideos);

                    case SpecialFolderInfo.DesktopDirectory:
                        return(Env.SpecialFolder.CommonDesktopDirectory);

                    case SpecialFolderInfo.MyComputer:
                        return(Env.SpecialFolder.MyComputer);

                    case SpecialFolderInfo.NetworkShortcuts:
                        return(Env.SpecialFolder.NetworkShortcuts);

                    case SpecialFolderInfo.Fonts:
                        return(Env.SpecialFolder.Fonts);

                    case SpecialFolderInfo.Templates:
                        return(Env.SpecialFolder.CommonTemplates);

                    case SpecialFolderInfo.ApplicationData:
                        return(Env.SpecialFolder.CommonApplicationData);

                    case SpecialFolderInfo.PrinterShortcuts:
                        return(Env.SpecialFolder.PrinterShortcuts);

                    case SpecialFolderInfo.LocalApplicationData:
                        return(Env.SpecialFolder.LocalApplicationData);

                    case SpecialFolderInfo.InternetCache:
                        return(Env.SpecialFolder.InternetCache);

                    case SpecialFolderInfo.Cookies:
                        return(Env.SpecialFolder.Cookies);

                    case SpecialFolderInfo.History:
                        return(Env.SpecialFolder.History);

                    case SpecialFolderInfo.Windows:
                        return(Env.SpecialFolder.Windows);

                    case SpecialFolderInfo.System:
                        return(Env.SpecialFolder.System);

                    case SpecialFolderInfo.ProgramFiles:
                        return(Env.SpecialFolder.CommonProgramFiles);

                    case SpecialFolderInfo.MyPictures:
                        return(Env.SpecialFolder.MyPictures);

                    case SpecialFolderInfo.UserProfile:
                        return(Env.SpecialFolder.UserProfile);

                    case SpecialFolderInfo.SystemX86:
                        return(Env.SpecialFolder.SystemX86);

                    case SpecialFolderInfo.ProgramFilesX86:
                        return(Env.SpecialFolder.CommonProgramFilesX86);

                    case SpecialFolderInfo.AdminTools:
                        return(Env.SpecialFolder.CommonAdminTools);

                    case SpecialFolderInfo.Resources:
                        return(Env.SpecialFolder.Resources);

                    case SpecialFolderInfo.LocalizedResources:
                        return(Env.SpecialFolder.LocalizedResources);

                    default:
                        return(null);
                    }

                case UserInfo.LoggedUser:
                    switch (folderInfo)
                    {
                    case SpecialFolderInfo.Desktop:
                        return(Env.SpecialFolder.Desktop);

                    case SpecialFolderInfo.Programs:
                        return(Env.SpecialFolder.Programs);

                    case SpecialFolderInfo.Personal:
                        return(Env.SpecialFolder.Personal);

                    case SpecialFolderInfo.MyDocuments:
                        return(Env.SpecialFolder.MyDocuments);

                    case SpecialFolderInfo.Favorites:
                        return(Env.SpecialFolder.Favorites);

                    case SpecialFolderInfo.Startup:
                        return(Env.SpecialFolder.Startup);

                    case SpecialFolderInfo.Recent:
                        return(Env.SpecialFolder.Recent);

                    case SpecialFolderInfo.SendTo:
                        return(Env.SpecialFolder.SendTo);

                    case SpecialFolderInfo.StartMenu:
                        return(Env.SpecialFolder.StartMenu);

                    case SpecialFolderInfo.MyMusic:
                        return(Env.SpecialFolder.MyMusic);

                    case SpecialFolderInfo.MyVideos:
                        return(Env.SpecialFolder.MyVideos);

                    case SpecialFolderInfo.DesktopDirectory:
                        return(Env.SpecialFolder.DesktopDirectory);

                    case SpecialFolderInfo.MyComputer:
                        return(Env.SpecialFolder.MyComputer);

                    case SpecialFolderInfo.NetworkShortcuts:
                        return(Env.SpecialFolder.NetworkShortcuts);

                    case SpecialFolderInfo.Fonts:
                        return(Env.SpecialFolder.Fonts);

                    case SpecialFolderInfo.Templates:
                        return(Env.SpecialFolder.Templates);

                    case SpecialFolderInfo.ApplicationData:
                        return(Env.SpecialFolder.ApplicationData);

                    case SpecialFolderInfo.PrinterShortcuts:
                        return(Env.SpecialFolder.PrinterShortcuts);

                    case SpecialFolderInfo.LocalApplicationData:
                        return(Env.SpecialFolder.LocalApplicationData);

                    case SpecialFolderInfo.InternetCache:
                        return(Env.SpecialFolder.InternetCache);

                    case SpecialFolderInfo.Cookies:
                        return(Env.SpecialFolder.Cookies);

                    case SpecialFolderInfo.History:
                        return(Env.SpecialFolder.History);

                    case SpecialFolderInfo.Windows:
                        return(Env.SpecialFolder.Windows);

                    case SpecialFolderInfo.System:
                        return(Env.SpecialFolder.System);

                    case SpecialFolderInfo.ProgramFiles:
                        return(Env.SpecialFolder.ProgramFiles);

                    case SpecialFolderInfo.MyPictures:
                        return(Env.SpecialFolder.MyPictures);

                    case SpecialFolderInfo.UserProfile:
                        return(Env.SpecialFolder.UserProfile);

                    case SpecialFolderInfo.SystemX86:
                        return(Env.SpecialFolder.SystemX86);

                    case SpecialFolderInfo.ProgramFilesX86:
                        return(Env.SpecialFolder.ProgramFilesX86);

                    case SpecialFolderInfo.AdminTools:
                        return(Env.SpecialFolder.AdminTools);

                    case SpecialFolderInfo.Resources:
                        return(Env.SpecialFolder.Resources);

                    case SpecialFolderInfo.LocalizedResources:
                        return(Env.SpecialFolder.LocalizedResources);

                    default:
                        return(null);
                    }

                case UserInfo.Default:
                default:
                    switch (folderInfo)
                    {
                    case SpecialFolderInfo.Desktop:
                        return(Env.SpecialFolder.Desktop);

                    case SpecialFolderInfo.Programs:
                        return(Env.SpecialFolder.CommonPrograms);

                    case SpecialFolderInfo.Personal:
                        return(Env.SpecialFolder.Personal);

                    case SpecialFolderInfo.MyDocuments:
                        return(Env.SpecialFolder.MyDocuments);

                    case SpecialFolderInfo.Favorites:
                        return(Env.SpecialFolder.Favorites);

                    case SpecialFolderInfo.Startup:
                        return(Env.SpecialFolder.CommonStartup);

                    case SpecialFolderInfo.Recent:
                        return(Env.SpecialFolder.Recent);

                    case SpecialFolderInfo.SendTo:
                        return(Env.SpecialFolder.SendTo);

                    case SpecialFolderInfo.StartMenu:
                        return(Env.SpecialFolder.CommonStartMenu);

                    case SpecialFolderInfo.MyMusic:
                        return(Env.SpecialFolder.MyMusic);

                    case SpecialFolderInfo.MyVideos:
                        return(Env.SpecialFolder.MyVideos);

                    case SpecialFolderInfo.DesktopDirectory:
                        return(Env.SpecialFolder.CommonDesktopDirectory);

                    case SpecialFolderInfo.MyComputer:
                        return(Env.SpecialFolder.MyComputer);

                    case SpecialFolderInfo.NetworkShortcuts:
                        return(Env.SpecialFolder.NetworkShortcuts);

                    case SpecialFolderInfo.Fonts:
                        return(Env.SpecialFolder.Fonts);

                    case SpecialFolderInfo.Templates:
                        return(Env.SpecialFolder.CommonTemplates);

                    case SpecialFolderInfo.ApplicationData:
                        return(Env.SpecialFolder.CommonApplicationData);

                    case SpecialFolderInfo.PrinterShortcuts:
                        return(Env.SpecialFolder.PrinterShortcuts);

                    case SpecialFolderInfo.LocalApplicationData:
                        return(Env.SpecialFolder.LocalApplicationData);

                    case SpecialFolderInfo.InternetCache:
                        return(Env.SpecialFolder.InternetCache);

                    case SpecialFolderInfo.Cookies:
                        return(Env.SpecialFolder.Cookies);

                    case SpecialFolderInfo.History:
                        return(Env.SpecialFolder.History);

                    case SpecialFolderInfo.Windows:
                        return(Env.SpecialFolder.Windows);

                    case SpecialFolderInfo.System:
                        return(Env.SpecialFolder.System);

                    case SpecialFolderInfo.ProgramFiles:
                        return(Env.SpecialFolder.CommonProgramFiles);

                    case SpecialFolderInfo.MyPictures:
                        return(Env.SpecialFolder.MyPictures);

                    case SpecialFolderInfo.UserProfile:
                        return(Env.SpecialFolder.UserProfile);

                    case SpecialFolderInfo.SystemX86:
                        return(Env.SpecialFolder.SystemX86);

                    case SpecialFolderInfo.ProgramFilesX86:
                        return(Env.SpecialFolder.CommonProgramFilesX86);

                    case SpecialFolderInfo.AdminTools:
                        return(Env.SpecialFolder.CommonAdminTools);

                    case SpecialFolderInfo.Resources:
                        return(Env.SpecialFolder.Resources);

                    case SpecialFolderInfo.LocalizedResources:
                        return(Env.SpecialFolder.LocalizedResources);

                    default:
                        return(null);
                    }
                }
            }