Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Расширяем возможности поиска Windows XPWindows XP не находит некоторые файлы, содержащие заданное вами слово. Программа не будет выполнять поиск в файлах с расширениями log, cpp, h, css и некоторых других, даже если эти файлы содержат слово или фразу, которую вы ищете. Даже если указать шаблон *.log в имени файла, Windows XP все равно не будет находить нужный файл.![]() Поиск файлов с расширением log не работает Чтобы убедиться в этом, создайте текстовый файл и запишите в него одно слово (например, "поиск"). Сохраните этот файл с расширением log или cpp. Теперь запустите поиск файлов (Пуск > Поиск), укажите каталог, в котором находится файл, и нужное слово. В результате программа не сможет найти созданный файл. Причина проблемы состоит в следующем. При поиске фразы в каждом файле Windows XP проверяет расширение файла и, исходя из него, выбирает нужный алгоритм поиска. Например, если программа поиска обнаружила txt-файл, она ищет в нем нужную фразу в кодировке ASCII. Если понадобилось искать в doc-файле MS Word, программа переключается на кодировку Unicode. Когда ей встречается mp3-файл или exe-файл, она вообще не ищет в нем заданную фразу. Зачем впустую тратить время, ведь в машинном коде или в звуковом файле она никогда не найдет текст. Идея поиска с анализом типа файла очень хорошая, но вот реализация немного подкачала. Во-первых, во времена DOS часто встречались файлы с расширением doc, содержащие обычный ASCII-текст. Расширение не является достаточным признаком для того, чтобы определить тип файла. Во-вторых, mp3-файлы содержат текстовые ID3-тэги, а exe-файлы - информацию об авторе и названии программы (так называемая version info). Windows XP не умеет выполнять поиск этой информации. В-третьих, Windows XP не знает таких распространенных расширений, как cpp (программа на языке С ), css (таблица стилей для web-страницы), log (отчет об ошибках). Первые две проблемы мы исправить не можем, однако у нас остается возможность научить программу находить файлы cpp, css и log. Запустите редактор реестра, откройте раздел HKEY_CLASSES_ROOT.cpp и создайте в нем подраздел PersistentHandler. Затем можно указать одно из следующих значений по умолчанию: {098f2470-bae0-11cd-b579-08002b30bfeb} - не выполнять поиск {5e941d80-bf96-11cd-b579-08002b30bfeb} - текстовый файл (ASCII, кодировка Windows) {98de59a0-d175-11cd-a7bd-00006b827d94} -Microsoft Word, Excel или PowerPoint (doc, xls, ppt) {eec97550-47a9-11cf-b952-00aa0051fe20} - html-файл или asp-файл Файлы cpp, css, log содержат обычный текст, поэтому для них следует использовать значение {5e941d80-bf96-11cd-b579-08002b30bfeb}. ![]() Указываем тип файла в реестре После выполнения этой нехитрой операции перезагрузите компьютер. Теперь Windows XP должна находить все нужные файлы. ![]() Поиск работает нормально Аналогичным способом можно заставить Windows XP искать текстовые файлы с другими расширениями. Кстати, чтобы быстро вызвать окно поиска, нажмите клавишу с эмблемой Windows F. |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Рейтинги
|