using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.ComponentModel; //Win32Exception using System.Windows.Threading; //DispatcherTimer namespace otwieraczProgramów { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } // zdarzenie uruchamiane po każdorazowym wpisaniu litery w // TextBox1, czekamy na klawisz Enter kończący wpisywanie nazwy programu private void OnKeyDownHandler(object sender, KeyEventArgs e) { // zmienna z nazwą programu do otworzenia string programName = TextBox1.Text.ToString(); // jeśli ktoś wpisze help if (programName.ToString().ToLower() == "help") { Label1.Content = "podaj poprawną nazwę programów systemowych:\n" + "mspaint, calc, notepad itp.\nlub podaj prawidłową ścieszkę do programu"; } else { // jesli nacisniemy klawisz Enter if (e.Key == Key.Return) { // musimy obsłużyć wyjatek, gdy wpiszemy // nazwę nie rozpoznawalną przez system try { // próbujemy uruchomic program o podanej nazwie System.Diagnostics.Process.Start(programName); } // gdy wpiszemy nazwę nie rozpoznawalną przez system // rzucony zostanie wyjatek Win32Exception catch (Win32Exception) { Label1.Content = "nie znam takiego programu"; // czekamy 2s i wyswietlamy stosowny komunikat var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) }; timer.Start(); timer.Tick += (sender, args) => { timer.Stop(); // komunikat Label1.Content = "wprowadź poprawną nazwę programu\nlub wpisz help"; }; } } } } } }