Проблема:
Windows XP не находит некоторые файлы, содержащие заданное слово. Программа не будет выполнять поиск в файлах с расширениями log, cpp, h, css и пр., даже если эти файлы содержат слово или фразу, которую вы ищете. Даже если указать шаблон *.log в имени файла, Windows XP все равно не будет находить нужный файл.
Причина:
При поиске фразы в каждом файле 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}.
После этого перезагружаем компьютер.