Ejemplo n.º 1
0
        /// <summary> 加载所有程序 </summary>
        public void LoadPrograms()
        {
            //HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 此键的子健为本机所有注册过的软件的卸载程序,通过此思路进行遍历安装的软件
            RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");

            string[]      key1   = key.GetSubKeyNames();   //返回此键所有的子键名称
            List <string> key2   = key1.ToList <string>(); //因为有的项木有"DisplayName"或"DisplayName"的键值的时候要把键值所在数组中的的元素进行删除
            RegistryKey   subkey = null;

            for (int i = 0; i < key2.Count; i++)
            {
                //通过list泛型数组进行遍历,某款软件项下的子键
                subkey = key.OpenSubKey(key2[i]);

                if (subkey.GetValue("DisplayName") == null)
                {
                    continue;
                }
                if (subkey.GetValue("DisplayIcon") == null)
                {
                    continue;
                }


                string path = subkey.GetValue("DisplayIcon").ToString();
                //截取子键值的最后一位进行判断
                string SubPath = path.Substring(path.Length - 1, 1);

                //如果为o 就是ico 或 找不到exe的 表示为图标文件或只有个标识而没有地址的
                if (SubPath == "o" || path.IndexOf("exe") == -1)
                {
                    //首先删除数组中此索引的元素
                    key2.RemoveAt(i);
                    //把循环条件i的值进行从新复制,否则下面给listview的项的tag属性进行赋值的时候会报错
                    i -= 1;
                    continue;
                }

                //如果为e 就代表着是exe可执行文件,
                if (SubPath == "e")
                {
                    //则表示可以直接把地址赋给tag属性
                    FileBindModel p = new FileBindModel(path);
                    p.FileName = subkey.GetValue("DisplayName").ToString();
                    this.ProgramSource.Add(p);
                    continue;
                }
                //因为根据观察 取的是DisplayIcon的值 表示为图片所在路径 如果为0或1,则是为可执行文件的图标
                if (SubPath == "0" || SubPath == "1")
                {
                    //进行字符串截取,
                    path = path.Substring(0, path.LastIndexOf("e") + 1);
                    //则表示可以直接把地址赋给tag属性
                    FileBindModel p = new FileBindModel(path);
                    p.FileName = subkey.GetValue("DisplayName").ToString();
                    this.ProgramSource.Add(p);
                    continue;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary> 从本地缓存文件读取数据 </summary>
        public CaseContentViewModel Create()
        {
            CaseContentViewModel c = new CaseContentViewModel();

            if (!Directory.Exists(ConfigerPath))
            {
                return(c);
            }

            DirectoryInfo folder = Directory.CreateDirectory(ConfigerPath);

            foreach (var item in folder.GetDirectories())
            {
                var files = item.FindAll <FileInfo>(l => l.Extension.EndsWith("sln"));

                foreach (var it in files)
                {
                    if (it == null || !it.Exists)
                    {
                        continue;
                    }

                    FileBindModel fileBind = new FileBindModel(it);
                    fileBind.FileName = it.Name;
                    c.CommonSource.Add(fileBind);
                }
            }

            Thread.Sleep(10000);

            return(c);
        }
Ejemplo n.º 3
0
        /// <summary> 加载扩展工具 </summary>
        public void LoadExtend()
        {
            string extendPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SysTemConfiger.ConfigerExtend);

            if (!Directory.Exists(extendPath))
            {
                return;
            }

            DirectoryInfo folder = Directory.CreateDirectory(extendPath);

            var extends = folder.GetDirectories();

            foreach (var item in extends)
            {
                var file = item.Find <FileInfo>(l => l.Extension.EndsWith("exe"));

                if (file == null)
                {
                    continue;
                }

                FileBindModel fileBind = new FileBindModel(file);
                fileBind.FileName = item.Name;

                this.ExtendSource.Add(fileBind);
            }
        }
Ejemplo n.º 4
0
        public SystemFolderViewModel Create()
        {
            SystemFolderViewModel s = new SystemFolderViewModel();

            var names = Enum.GetNames(typeof(Environment.SpecialFolder));

            s.CommonSource.Clear();

            foreach (var item in names)
            {
                Environment.SpecialFolder e = item.GetEnumByNameOrValue <Environment.SpecialFolder>();

                //string recent = Environment.GetFolderPath(e);

                string recent = WinSysHelper.Instance.GetSystemPath(e);

                FileBindModel f = new FileBindModel(recent);
                f.FileName = item;
                if (string.IsNullOrEmpty(f.FilePath))
                {
                    continue;
                }
                s.CommonSource.Add(f);
            }

            return(s);
        }
        internal IntergrationToolViewModel Create()
        {
            IntergrationToolViewModel i = new IntergrationToolViewModel();

            string extendPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SysTemConfiger.ConfigerExtend);

            if (!Directory.Exists(ConfigerPath))
            {
                return(i);
            }

            DirectoryInfo folder = Directory.CreateDirectory(ConfigerPath);

            var extends = folder.GetDirectories();

            foreach (var item in extends)
            {
                var file = item.Find <FileInfo>(l => l.Extension.EndsWith("exe"));

                if (file == null)
                {
                    continue;
                }

                FileBindModel fileBind = new FileBindModel(file);
                fileBind.FileName = item.Name;

                i.CommonSource.Add(fileBind);
            }

            return(i);
        }
Ejemplo n.º 6
0
        public NearlestDocViewModel Create()
        {
            NearlestDocViewModel n = new NearlestDocViewModel();

            string recent = Environment.GetFolderPath(Environment.SpecialFolder.Recent);

            var files = Directory.GetFiles(recent);

            files = files.OrderByDescending(l => Directory.GetLastAccessTime(l)).ToArray();

            files = files.Take(100).ToArray();

            n.CommonSource.Clear();

            foreach (var item in files)
            {
                FileBindModel f = new FileBindModel(item);

                if (string.IsNullOrEmpty(f.FilePath))
                {
                    continue;
                }

                n.CommonSource.Add(f);
            }

            return(n);
        }
Ejemplo n.º 7
0
        void Copy_AddFolder()
        {
            // HTodo  :复制的文件路径
            string text = System.Windows.Clipboard.GetText();

            if (!string.IsNullOrEmpty(text))
            {
                if (Directory.Exists(text))
                {
                    FileBindModel f = new FileBindModel(Directory.CreateDirectory(text));
                    this.BkSource.Add(f);
                }

                if (File.Exists(text))
                {
                    FileInfo      file = new FileInfo(text);
                    FileBindModel f    = new FileBindModel(file);

                    this.BkSource.Add(f);
                }
            }


            // HTodo  :复制的文件
            System.Collections.Specialized.StringCollection list = System.Windows.Clipboard.GetFileDropList();

            foreach (var item in list)
            {
                if (Directory.Exists(item))
                {
                    FileBindModel f = new FileBindModel(Directory.CreateDirectory(item));
                    this.BkSource.Add(f);
                }

                if (File.Exists(item))
                {
                    FileInfo      file = new FileInfo(item);
                    FileBindModel f    = new FileBindModel(file);

                    this.BkSource.Add(f);
                }
            }

            this.RefreshUI();

            this.SaveToFile();
        }
Ejemplo n.º 8
0
        /// <summary> 最近使用的文件 </summary>
        public void RefreshLastSource()
        {
            string recent = Environment.GetFolderPath(Environment.SpecialFolder.Recent);

            var files = Directory.GetFiles(recent);

            this.LastSource.Clear();

            foreach (var item in files)
            {
                FileBindModel f = new FileBindModel(item);

                if (string.IsNullOrEmpty(f.FilePath))
                {
                    continue;
                }
                this.LastSource.Add(f);
            }
        }
Ejemplo n.º 9
0
        /// <summary> 收藏文件夹 </summary>
        public void RefreshFavoritesSource()
        {
            string recent = Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            var files = recent.GetAllFile();

            this.CommonSource.Clear();

            foreach (var item in files)
            {
                FileBindModel f = new FileBindModel(item);

                if (string.IsNullOrEmpty(f.FilePath))
                {
                    continue;
                }

                this.CommonSource.Add(f);
            }
        }
Ejemplo n.º 10
0
        void Click_AddFile(object sender, RoutedEventArgs e)
        {
            System.Windows.Forms.OpenFileDialog open = new System.Windows.Forms.OpenFileDialog();

            if (open.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            string filePath = open.FileName;

            FileBindModel m = new FileBindModel(filePath);

            if (string.IsNullOrEmpty(m.FilePath))
            {
                return;
            }
            this._bkSource.Add(m);

            this.RefreshUI();

            this.SaveToFile();
        }
Ejemplo n.º 11
0
        /// <summary> 系统文件夹 </summary>
        public void RefreshSysSource()
        {
            var names = Enum.GetNames(typeof(Environment.SpecialFolder));

            this.SysSource.Clear();

            foreach (var item in names)
            {
                Environment.SpecialFolder e = item.GetEnumByNameOrValue <Environment.SpecialFolder>();

                //string recent = Environment.GetFolderPath(e);

                string recent = WinSysHelper.Instance.GetSystemPath(e);

                FileBindModel f = new FileBindModel(recent);
                f.FileName = item;
                if (string.IsNullOrEmpty(f.FilePath))
                {
                    continue;
                }
                this.SysSource.Add(f);
            }
        }
Ejemplo n.º 12
0
        /// <summary> 添加文件夹 </summary>
        public void AddFolderItem()
        {
            FolderBrowserDialog open = new FolderBrowserDialog();

            if (open.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            string filePath = open.SelectedPath;

            FileBindModel m = new FileBindModel(filePath);

            if (string.IsNullOrEmpty(m.FilePath))
            {
                return;
            }
            this.CommonSource.Add(m);

            this.RefreshUI();

            this.SaveToFile();
        }
Ejemplo n.º 13
0
        /// <summary> 此方法的说明 </summary>
        public void AddFileItem()
        {
            System.Windows.Forms.OpenFileDialog open = new System.Windows.Forms.OpenFileDialog();

            if (open.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            string filePath = open.FileName;

            FileBindModel m = new FileBindModel(filePath);

            if (string.IsNullOrEmpty(m.FilePath))
            {
                return;
            }

            this.CommonSource.Add(m);

            this.RefreshUI();

            this.SaveToFile();
        }
Ejemplo n.º 14
0
        internal FavoriteViewModel Create()
        {
            FavoriteViewModel fav = new FavoriteViewModel();

            string recent = Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            var files = recent.GetAllFile();

            fav.CommonSource.Clear();

            foreach (var item in files)
            {
                FileBindModel f = new FileBindModel(item);

                if (string.IsNullOrEmpty(f.FilePath))
                {
                    continue;
                }

                fav.CommonSource.Add(f);
            }

            return(fav);
        }
Ejemplo n.º 15
0
        public ProcessingBatchViewModel Create()
        {
            ProcessingBatchViewModel p = new ProcessingBatchViewModel();


            DirectoryInfo folder = Directory.CreateDirectory(ConfigerPath);

            var extends = folder.GetFiles();

            foreach (var item in extends)
            {
                if (!item.Extension.EndsWith("bat"))
                {
                    continue;
                }

                FileBindModel fileBind = new FileBindModel(item);
                fileBind.FileName = item.Name;

                p.CommonSource.Add(fileBind);
            }

            return(p);
        }