private void Check_Click(object sender, RoutedEventArgs e) { var path = this.pathTextBox.Text; if (!Directory.Exists(this.pathTextBox.Text)) { MessageBox.Show("当前目录不存在, 请检查后重试"); return; } var dir = new DirectoryInfo(path); var files = dir.GetFiles("*.*", this.searchOption.IsChecked == true ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly); var programFiles = files.Where(u => ".dll".Equals(u.Extension, StringComparison.InvariantCultureIgnoreCase) || ".exe".Equals(u.Extension, StringComparison.InvariantCultureIgnoreCase)).ToArray(); if (programFiles.Length == 0) { MessageBox.Show("当前目录没有任何程序文件"); } this._fileTargetItemsSource.Clear(); this.checkFileNum.Text = "0"; Task.Factory.StartNew(new Action(() => { int i = 0; foreach (var file in programFiles) { var fileTarget = PlatformTargetHelper.GetPlatformTarget(file.FullName); fileTarget.FileName = file.FullName.Replace(path + "\\", ""); this.Dispatcher.Invoke(new Action(() => { this._fileTargetItemsSource.Add(fileTarget); this.checkFileNum.Text = (++i).ToString(); if (this._scrollIsEnd) { this.sourceDataGrid.ScrollIntoView(fileTarget); } })); } })); }
private void vsDumpbinTextBox_TextChanged(object sender, TextChangedEventArgs e) { PlatformTargetHelper.InitVsDumpbinPath(vsDumpbinTextBox.Text); }