/// <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; } } }
/// <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); }
/// <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); } }
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); }
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); }
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(); }
/// <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); } }
/// <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); } }
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(); }
/// <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); } }
/// <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(); }
/// <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(); }
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); }
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); }