У меня есть приложение wpf, которое выполняет поиск в каталоге и запускает процесс, например открытие медиаплеера.
Приложение запускает медиаплеер, в случае mp3-файлов, но процесс по какой-то причине равен нулю.
Вот моя MainViewModel
У меня есть приложение wpf, которое выполняет поиск в каталоге и запускает процесс, например открытие медиаплеера. Приложение запускает медиаплеер, в случае mp3-файлов, но процесс по какой-то причине равен нулю. Вот моя MainViewModel [code][ObservableProperty] string? folderPath;
[ObservableProperty] FileItem? selectedItem;
[ObservableProperty] double progress;
[ObservableProperty] bool isEnable = true;
public ObservableCollection Files { get; set; } = [];
public async Task DeleteNonMp4files(string folderPath) { IsEnable = false; if (Directory.Exists(folderPath)) { var filesInFolder = Directory.GetFiles(folderPath); var totalFiles = Files.Count; var filesDeleted = 0;
foreach (var item in filesInFolder) { if (!Path.GetExtension(item).Equals(".mp4", StringComparison.CurrentCultureIgnoreCase)) { File.Delete(item); filesDeleted++; Progress = (double)filesDeleted / totalFiles * 100;
await Task.Delay(50); } } GetFiles(folderPath);
Progress = 100;
if (Progress == 100) { MessageBox.Show("Done"); IsEnable = true; }
} }
private string GetIconPathForExtension(string extension, string extensionsFolder) { string iconFileName = extension switch { ".avi" => "avi.png", ".mp4" => "mp4.png", ".mp3" => "mp3.png", ".pdf" => "pdf.png", ".png" => "png.png", ".txt" => "txt.png", ".wav" => "wav.png", _ => "question.png",// Fallback icon if no match is found };
// Combine the Extensions folder path with the icon file name string iconPath = Path.Combine(extensionsFolder, iconFileName);
// Check if the icon exists, otherwise return a default icon if (!File.Exists(iconPath)) { iconPath = Path.Combine(extensionsFolder, "default.png"); // Fallback to default icon if not found }
if (!string.IsNullOrEmpty(value!.FullPath)) { var p = Process.Start(new ProcessStartInfo { FileName = value.FullPath, UseShellExecute = true });
Task.Delay(5000);
Processes!.Add(p!); }
}
public void CleanUpProcesses() { foreach (var process in Processes!) { try { if (!process.HasExited) { process.Kill(); // Kill the process } } catch (Exception ex) { // Handle errors during cleanup (e.g., process already exited) Console.WriteLine($"Error terminating process: {ex.Message}"); } [/code] Я пытаюсь завершить процесс, когда приложение закрывается, и я уже пробовал использовать блок try-catch, но ничего.
У меня есть приложение wpf, которое выполняет поиск в каталоге и запускает процесс, например открытие медиаплеера.
приложение запускает медиаплеер в случае файлов mp3. >
но процесс по какой-то причине равен нулю
вот моя MainViewModel
У меня есть приложение wpf, которое выполняет поиск в каталоге и запускает процесс, например открытие медиаплеера.
Приложение запускает медиаплеер, в случае mp3-файлов, но процесс по какой-то причине равен нулю.
Вот моя MainViewModel
У меня есть приложение wpf, которое выполняет поиск в каталоге и запускает процесс, например открытие медиаплеера.
Приложение запускает медиаплеер, в случае mp3-файлов, но процесс по какой-то причине равен нулю.
Вот моя MainViewModel
Я воспроизводил звук тревоги в своем приложении. На большинстве устройств это работает безупречно. Некоторые пользователи описали, что звук не играет. Это, кажется, в основном влияет на устройства Samsung и Huawei. Это минимальный пример того, где...
Я использовал Desktopacryliccontroller и Systembackdropconfiguration для настройки акрила моего приложения Winui-3.
это работает без каких-либо проблем. Первая проблема возникает, когда окно теряет фокус и снова получает фокус. После этого мой акрил...