Ejemplo n.º 1
0
 private IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
 {
     if ((nCode >= 0) && (wParam == (IntPtr)WM_KEYDOWN))
     {
         int vkCode = Marshal.ReadInt32(lParam);
         if ((Key)vkCode == Key.O)
         {
             Activate();
             FilesSearchTB.Focus();
             return((IntPtr)1);
         }
     }
     return(CallNextHookEx(hook, nCode, wParam, lParam));
 }
Ejemplo n.º 2
0
        private void SearchButton(object sender, RoutedEventArgs e)
        {
            string tmp     = FilesSearchTB.Text;
            string pattern = "[\\/:*?<>|+.%!@\"]";
            Regex  rgx     = new Regex(pattern);

            if (tmp == "")
            {
                MessageBox.Show("Строка поиска не может быть пустой", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return;
            }
            if (rgx.IsMatch(tmp))
            {
                MessageBox.Show("Строка поиска содержит недопустимые символы", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return;
            }
            FilesSearchTB.Clear();
            FileSearchLabel.Content = "Поиск...";
            Thread th = new Thread(new ParameterizedThreadStart(SearchFileOrDirectories));

            th.SetApartmentState(ApartmentState.STA);
            th.IsBackground = true;
            th.Start(tmp);
        }