Shgetfileinfow failed for file without extension не удается найти указанный файл 0x2
Код ошибки «ERROR_FILE_NOT_FOUND» возникает, когда пользователи пытаются открыть файл в определенном приложении с помощью диалогового окна «Открыть файл». Эта ошибка распространена в Windows 7 и Windows Server 2008.
Существует несколько причин этой ошибки: сбой питания, имя папки файла было изменено по ошибке, ключи реестра были ошибочно изменены, процесс установки различных файлов не завершился правильно, и многое другое.
Решение 1. Восстановите реестр .
Самый простой способ восстановить реестр – использовать специальный инструмент, такой как CCleaner. Не забудьте сначала сделать резервную копию реестра, если что-то пойдет не так. Если вы не установили очиститель реестра на свой компьютер, ознакомьтесь с нашей статьей о лучших очистителях реестра для использования на ПК с Windows 10.
Вы также можете использовать средство проверки системных файлов Microsoft для проверки повреждений системных файлов. Однако эта утилита доступна только в Windows 10. Вот как запустить сканирование SFC:
1. Перейдите в Пуск> введите cmd> щелкните правой кнопкой мыши Командная строка> выберите Запуск от имени администратора
2. Теперь введите команду sfc/scannow
3. Дождитесь завершения процесса сканирования и перезагрузите компьютер. Все поврежденные файлы будут заменены при перезагрузке.
Решение 2. Обновите свою ОС .
Убедитесь, что на вашем компьютере установлены последние обновления ОС Windows. В качестве напоминания, Microsoft постоянно выпускает обновления для Windows, чтобы улучшить стабильность системы и устранить различные проблемы. Перейдите в Центр обновления Windows, проверьте наличие обновлений и установите доступные обновления. Чтобы получить доступ к разделу Центра обновления Windows, вы можете просто ввести «обновление» в поле поиска. Этот метод работает на всех версиях Windows.
Решение 3. Очистите временные файлы и папки .
Самый простой и быстрый способ удалить ваши временные файлы и папки – использовать очистку диска. Когда вы пользуетесь компьютером или просматриваете Интернет, ваш компьютер накапливает различные ненужные файлы.
Эти так называемые ненужные файлы могут влиять на скорость обработки вашего компьютера, вызывая медленную реакцию приложений, а также могут вызывать различные коды ошибок, включая код ошибки «ERROR_FILE_NOT_FOUND».
Ниже описано, как использовать очистку диска в Windows 10.
1. Перейдите в Пуск> введите Очистка диска> запустите инструмент
2. Выберите диск, который вы хотите почистить> инструмент скажет вам, сколько места вы можете освободить
3. Выберите «Очистить системные файлы».
Ниже описано, как использовать очистку диска в Windows 7.
- Перейдите в Пуск> введите Очистка диска> откройте Очистка диска.
- В разделе описания очистки диска выберите Очистить системные файлы и выберите диск, который вы хотите очистить> нажмите OK.
- На вкладке «Очистка диска» установите флажки для типов файлов, которые вы хотите удалить> нажмите «ОК»> «Удалить файлы».
Решение 4. Запустите команду chkdsk .
Команда chkdsk помогает обнаруживать и устранять различные проблемы с дисками, в том числе поврежденные файлы и папки.
1. Перейдите в Пуск> введите cmd> щелкните правой кнопкой мыши первые результаты и запустите командную строку от имени администратора.
2. Введите команду chkdsk/f X: . Замените X соответствующей буквой вашего раздела> нажмите Enter .
3. Подождите, пока chkdsk восстановит ваши файлы.
Решение 5. Загрузите файл еще раз .
Эта ошибка также возникает при установке загруженных приложений и программ. Иногда ваша загрузка может быть повреждена или повреждена, что может вызвать ошибку «файл не найден».
В этом случае попробуйте снова загрузить соответствующий файл или все приложение. Вы также можете использовать специальный менеджер загрузок для этой задачи.
Решение 6. Удалите папку Windows.old .
Папка Windows.old также может вызывать различные ошибки «файл не найден». Как быстрое напоминание о Windows.Старая папка появляется, когда вы обновляете версию Windows или выполняете чистую установку Windows 10. Роль этой папки – сохранить ваши предыдущие установочные файлы Windows, что позволит вам восстановить ее. Вот как можно удалить папку Windows.old:
1. Введите Disk Cleanup> выберите ваш диск C> выберите Очистить системные файлы
2. Дождитесь, пока утилита подсчитает, сколько места она может освободить> в новых окнах, нажмите на вкладку «Дополнительные параметры»
3. Перейдите в раздел Восстановление системы и теневые копии> нажмите Очистить
Решение 7. Изменить местоположение файла
Перемещение файла, затронутого ошибкой «файл не найден», в другую папку может решить проблему. Попробуйте переместить файл в другую папку на том же диске. Если это не работает, попробуйте переместить его на другой диск.
Решение 8. Удалите конфликтующее программное обеспечение
Чтобы удалить программу, перейдите в «Пуск» и введите «Панель управления». Запустите инструмент и нажмите «Удалить программу». Найдите приложение, которое вы считаете виновным, и удалите его.
Решение 10. Отключите антивирус .
Иногда ваш антивирус может блокировать файл, который вы пытаетесь открыть. Временно отключите антивирус и попробуйте снова открыть файл. Если это не работает, попробуйте загрузить файл снова. Откройте его и посмотрите, работает ли это сейчас. Не забудьте включить антивирус после завершения загрузки файла.
Вы все еще сталкиваетесь с кодом ошибки “FILE_NOT_FOUND” после выполнения действий по устранению неполадок, перечисленных выше? Используйте раздел комментариев ниже, чтобы сообщить нам, какое решение решило проблему.
Если вы столкнулись с другими обходными путями этой ошибки, не стесняйтесь перечислять шаги по устранению неполадок в разделе комментариев ниже.
как работать с функцией?
здравствуйте! подскажите пож - подключаю функцию: function translitIt($str) < $tr = array(.
Как работать с функцией SystemParametersInfo?
Чтобы установить обои рабочего стола. Уже задал этот вопрос в C++ разделе, пока никто не ответил.
Как работать с функцией memchr( ) в С++
Помогите пожалуйста разобраться как работает функция memchr() в С++. Я прогуглил этот вопрос, но.
Добавлено через 42 секунды
или через амперсанд надо?
Одинарные кавычки используются для обозначения одного символа. Строка обозначается двойными кавычками.
Это понятно спасибо. Просто параметр pszPatch задает файл или шаблон файла ,о которых требуется получить информацию. Я же ни ищу конкретно какие то файлы , мне требуется получить иконки папок и файлов , то есть этот параметр : pszPatch я могу просто задать как пустой символ - ' или нет?
Добавлено через 5 минут
В примере книге Михаил Фленов - Бибилия Делфи на 322-й странице он передает в этот параметр : pszPatch = ' '. Когда я так делаю SysImageList = SHGetFileInfoW('', 0, &SFI, sizeof(SFI),SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
то пулучаю ошибку Character constant too long (or empty). Вот собственно вопрос что и как передавать в параметр pzsPatch ?
pszPath [in]
Type: LPCTSTR
A pointer to a null-terminated string of maximum length MAX_PATH that contains the path and file name. Both absolute and relative paths are valid.
If the uFlags parameter includes the SHGFI_PIDL flag, this parameter must be the address of an ITEMIDLIST (PIDL) structure that contains the list of item identifiers that uniquely identifies the file within the Shell's namespace. The PIDL must be a fully qualified PIDL. Relative PIDLs are not allowed.
If the uFlags parameter includes the SHGFI_USEFILEATTRIBUTES flag, this parameter does not have to be a valid file name. The function will proceed as if the file exists with the specified name and with the file attributes passed in the dwFileAttributes parameter. This allows you to obtain information about a file type by passing just the extension for pszPath and passing FILE_ATTRIBUTE_NORMAL in dwFileAttributes.
This string can use either short (the 8.3 form) or long file names.
А именно, чтобы получить информацию не о конкретном файле, а о типе файлов, следует передавать расширение. Кто такой Михаил Фленов и что за библии он писал мне неведомо.
Syntax
Корректировка настроек даты и времени
При поиске самых свежих обновлений ошибка 0x80070002 может появляться и по причине того, что системное время не соответствует реальному.
Пытаться изменить время и дату непосредственно в системе не стоит, поскольку это может и не дать должного эффекта. Оптимальным вариантом считается установка корректных параметров в BIOS при старте компьютера или ноутбука.
Установите обновления Windows
Если вы долгое время не обновляли Windows, ошибка «Система не может найти указанный файл» является признаком того, что пора установить все ожидающие обновления. Для этого необходимо:
Совет экспертов: Этот инструмент восстановления сканирует репозитории и заменяет поврежденные или отсутствующие файлы, если ни один из этих методов не сработал. Это хорошо работает в большинстве случаев, когда проблема связана с повреждением системы. Этот инструмент также оптимизирует вашу систему, чтобы максимизировать производительность. Его можно скачать по Щелчок Здесь
CCNA, веб-разработчик, ПК для устранения неполадок
Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.
Утилиты для автоматического исправления ошибки
Для случаев, когда по какой-то причине системе не удается найти указанный файл (если это действительно связано с вышеописанными процессами), можно использовать и некоторые автоматизированные средства, позволяющие устранить проблему без участия пользователя.
Проверьте файл системного журнала, чтобы найти файл драйвера проблемы.
Следуй этим шагам:
- Перейдите к C: / Windows / инф.
- Откройте папку inf и найдите файл «setupapi.dev» (в некоторых случаях это файл «setupapi.dev.log»).
- Дважды щелкните по нему, чтобы открыть файл.
- Одновременно нажмите клавиши Ctrl и F, чтобы открыть поле поиска. Тип не находит файл в
- поле поиска, затем начинается поиск.
- Отсутствующий файл будет найден.
- сохранить файл в винде / инф.
- Установите драйвер.
Проверка при восстановлении системы
Как уже говорилось, ошибка, связанная с тем, что системе не удается найти указанный файл, может возникать при создании резервных копий или при откате системы до предыдущего состояния. В первом случае можно сразу запустить командную консоль, во втором – только при загрузке со съемного носителя.
В самом простом варианте, когда есть стабильное подключение к интернету, можно использовать сначала проверку целостности системных компонентов (sfc /scannow), а затем применить непосредственно команду сканирования состояния и восстановления, как показано на изображении выше.
Перезапуск службы апдейта
Действия с «Центром обновления» могут и не привести к желаемому результату, поскольку в отвечающей за его работу службе мог произойти программный сбой (в этом случае при поиске тоже может выдаваться предупреждение о том, что системе не удается найти указанный файл апдейта). В этом случае нужно будет произвести ручной перезапуск данного системного процесса.
Для осуществления таких действий используется раздел служб, который можно вызвать через меню администрирования компьютера, но лучше использовать консоль «Выполнить» (Win + R), где следует прописать сочетание services.msc.
Здесь нужно найти соответствующий процесс и просто остановить его специальной кнопкой в меню редактирования параметров и настроек.
На втором этапе следует открыть «Проводник» или любой другой используемый файловый менеджер и в основной директории системы (Windows) найти подкаталог SoftwareDistibution. Здесь есть два варианта действий. Можно полностью попытаться удалить его содержимое, но это вряд ли получится. А можно просто переименовать папку, добавив к названию Old. Только после таких манипуляций можно вернуться в раздел служб и активировать остановленный процесс заново.
Ошибка «Не удается найти указанный файл»: установка обновлений
Поскольку самой частой причиной является сбой установки апдейтов, начать нужно именно с этого. В Windows для устранения проблемы нужно использовать соответствующий раздел, который можно вызвать из «Панели управления».
Если пользователь наблюдает ошибку именно при попытке загрузки необходимых апдейтов, нужно просто использовать активацию ручного поиска ведь система автоматически найти их не может. Если они будут найдены, останется только согласиться с их установкой. Иногда причиной может стать нарушение интернет-соединения, но по понятным причинам такие ситуации сейчас в расчет не берутся.
Удалите драйвер и переустановите его.
В качестве альтернативы, переустановить драйвер если вы загрузите его с веб-сайта производителя и столкнетесь с этой проблемой.
- Зайдите в диспетчер устройств.
- Разверните категорию и найдите устройство, которое вы хотите удалить. (Здесь, например, мы берем
- удаление драйвера видео в качестве примера.)
- Щелкните правой кнопкой мыши на имени устройства и выберите «Удалить» из контекстного меню.
- Windows попросит вас подтвердить удаление. Установите флажок «Удалить драйвер для этого.
- устройство », затем нажмите кнопку« ОК ».
- После удаления драйвера переустановите его.
Remarks
You should call this function from a background thread. Failure to do so could cause the UI to stop responding.
If SHGetFileInfo returns an icon handle in the hIcon member of the SHFILEINFO structure pointed to by psfi, you are responsible for freeing it with DestroyIcon when you no longer need it.
Note Once you have a handle to a system image list, you can use the Image List API to manipulate it like any other image list. Because system image lists are created on a per-process basis, you should treat them as read-only objects. Writing to a system image list may overwrite or delete one of the system images, making it unavailable or incorrect for the remainder of the process.
You must initialize Component Object Model (COM) with CoInitialize or OleInitialize prior to calling SHGetFileInfo.
When you use the SHGFI_EXETYPE flag with a Windows application, the Windows version of the executable is given in the HIWORD of the return value. This version is returned as a hexadecimal value. For details on equating this value with a specific Windows version, see Using the Windows Headers.
Examples
The following code example uses SHGetFileInfo to retrieve the display name of the Recycle Bin, identified by its PIDL.
The shellapi.h header defines SHGetFileInfo as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
В этой статье доступны эффективные решения, которые помогут системе не найти файловую ошибку. Если вы столкнулись с ошибкой «Система не может найти указанный файл», не стесняйтесь читать это руководство, чтобы найти подходящее решение.
В целом, это очень распространенная ошибка для пользователей Windows, особенно для пользователей Windows 10, которая обычно отображает код ошибки 0x80070002. Некоторые распространенные причины этой ошибки перечислены ниже:
Return value
Type: DWORD_PTR
Returns a value whose meaning depends on the uFlags parameter.
If uFlags does not contain SHGFI_EXETYPE or SHGFI_SYSICONINDEX, the return value is nonzero if successful, or zero otherwise.
If uFlags contains the SHGFI_EXETYPE flag, the return value specifies the type of the executable file. It will be one of the following values.
Return code | Description |
---|---|
0 | Nonexecutable file or an error condition. |
LOWORD = NE or PE and HIWORD = Windows version | Windows application. |
LOWORD = MZ and HIWORD = 0 | MS-DOS .exe or .com file |
LOWORD = PE and HIWORD = 0 | Console application or .bat file |
Parameters
Type: LPCTSTR
A pointer to a null-terminated string of maximum length MAX_PATH that contains the path and file name. Both absolute and relative paths are valid.
If the uFlags parameter includes the SHGFI_PIDL flag, this parameter must be the address of an ITEMIDLIST (PIDL) structure that contains the list of item identifiers that uniquely identifies the file within the Shell's namespace. The PIDL must be a fully qualified PIDL. Relative PIDLs are not allowed.
If the uFlags parameter includes the SHGFI_USEFILEATTRIBUTES flag, this parameter does not have to be a valid file name. The function will proceed as if the file exists with the specified name and with the file attributes passed in the dwFileAttributes parameter. This allows you to obtain information about a file type by passing just the extension for pszPath and passing FILE_ATTRIBUTE_NORMAL in dwFileAttributes.
This string can use either short (the 8.3 form) or long file names.
Type: DWORD
A combination of one or more file attribute flags (FILE_ATTRIBUTE_ values as defined in Winnt.h). If uFlags does not include the SHGFI_USEFILEATTRIBUTES flag, this parameter is ignored.
Pointer to a SHFILEINFO structure to receive the file information.
The size, in bytes, of the SHFILEINFO structure pointed to by the psfi parameter.
The flags that specify the file information to retrieve. This parameter can be a combination of the following values.
SHGFI_ADDOVERLAYS (0x000000020)
Version 5.0. Apply the appropriate overlays to the file's icon. The SHGFI_ICON flag must also be set.
SHGFI_ATTR_SPECIFIED (0x000020000)
Modify SHGFI_ATTRIBUTES to indicate that the dwAttributes member of the SHFILEINFO structure at psfi contains the specific attributes that are desired. These attributes are passed to IShellFolder::GetAttributesOf. If this flag is not specified, 0xFFFFFFFF is passed to IShellFolder::GetAttributesOf, requesting all attributes. This flag cannot be specified with the SHGFI_ICON flag.
SHGFI_ATTRIBUTES (0x000000800)
Retrieve the item attributes. The attributes are copied to the dwAttributes member of the structure specified in the psfi parameter. These are the same attributes that are obtained from IShellFolder::GetAttributesOf.
SHGFI_DISPLAYNAME (0x000000200)
Retrieve the display name for the file, which is the name as it appears in Windows Explorer. The name is copied to the szDisplayName member of the structure specified in psfi. The returned display name uses the long file name, if there is one, rather than the 8.3 form of the file name. Note that the display name can be affected by settings such as whether extensions are shown.
SHGFI_EXETYPE (0x000002000)
Retrieve the type of the executable file if pszPath identifies an executable file. The information is packed into the return value. This flag cannot be specified with any other flags.
SHGFI_ICON (0x000000100)
Retrieve the handle to the icon that represents the file and the index of the icon within the system image list. The handle is copied to the hIcon member of the structure specified by psfi, and the index is copied to the iIcon member.
SHGFI_ICONLOCATION (0x000001000)
Retrieve the name of the file that contains the icon representing the file specified by pszPath, as returned by the IExtractIcon::GetIconLocation method of the file's icon handler. Also retrieve the icon index within that file. The name of the file containing the icon is copied to the szDisplayName member of the structure specified by psfi. The icon's index is copied to that structure's iIcon member.
SHGFI_LARGEICON (0x000000000)
Modify SHGFI_ICON, causing the function to retrieve the file's large icon. The SHGFI_ICON flag must also be set.
SHGFI_LINKOVERLAY (0x000008000)
Modify SHGFI_ICON, causing the function to add the link overlay to the file's icon. The SHGFI_ICON flag must also be set.
SHGFI_OPENICON (0x000000002)
Modify SHGFI_ICON, causing the function to retrieve the file's open icon. Also used to modify SHGFI_SYSICONINDEX, causing the function to return the handle to the system image list that contains the file's small open icon. A container object displays an open icon to indicate that the container is open. The SHGFI_ICON and/or SHGFI_SYSICONINDEX flag must also be set.
SHGFI_OVERLAYINDEX (0x000000040)
Version 5.0. Return the index of the overlay icon. The value of the overlay index is returned in the upper eight bits of the iIcon member of the structure specified by psfi. This flag requires that the SHGFI_ICON be set as well.
SHGFI_PIDL (0x000000008)
Indicate that pszPath is the address of an ITEMIDLIST structure rather than a path name.
SHGFI_SELECTED (0x000010000)
Modify SHGFI_ICON, causing the function to blend the file's icon with the system highlight color. The SHGFI_ICON flag must also be set.
SHGFI_SHELLICONSIZE (0x000000004)
Modify SHGFI_ICON, causing the function to retrieve a Shell-sized icon. If this flag is not specified the function sizes the icon according to the system metric values. The SHGFI_ICON flag must also be set.
SHGFI_SMALLICON (0x000000001)
Modify SHGFI_ICON, causing the function to retrieve the file's small icon. Also used to modify SHGFI_SYSICONINDEX, causing the function to return the handle to the system image list that contains small icon images. The SHGFI_ICON and/or SHGFI_SYSICONINDEX flag must also be set.
SHGFI_SYSICONINDEX (0x000004000)
Retrieve the index of a system image list icon. If successful, the index is copied to the iIcon member of psfi. The return value is a handle to the system image list. Only those images whose indices are successfully copied to iIcon are valid. Attempting to access other images in the system image list will result in undefined behavior.
SHGFI_TYPENAME (0x000000400)
Retrieve the string that describes the file's type. The string is copied to the szTypeName member of the structure specified in psfi.
SHGFI_USEFILEATTRIBUTES (0x000000010)
Indicates that the function should not attempt to access the file specified by pszPath. Rather, it should act as if the file specified by pszPath exists with the file attributes passed in dwFileAttributes. This flag cannot be combined with the SHGFI_ATTRIBUTES, SHGFI_EXETYPE, or SHGFI_PIDL flags.
Обновление за май 2022 года:
Теперь вы можете предотвратить проблемы с ПК с помощью этого инструмента, например, защитить вас от потери файлов и вредоносных программ. Кроме того, это отличный способ оптимизировать ваш компьютер для достижения максимальной производительности. Программа с легкостью исправляет типичные ошибки, которые могут возникнуть в системах Windows - нет необходимости часами искать и устранять неполадки, если у вас под рукой есть идеальное решение:
- Отсутствует файл драйвера
- проблема с сетевым подключением
- Необычные ключи реестра
- Системные файлы отсутствуют или повреждены.
- Файлы, необходимые для соответствующего программного обеспечения, отсутствуют или повреждены.
- И так далее…………….
Хотя причина явно неизвестна, вы можете попробовать следующие решения для решения вашей проблемы.
С чем еще может быть связана ошибка?
Касательно установки апдейтов, сбой может вызываться не только обновлением самой системы. Зачастую идентичные ошибки могут появляться при попытке поиска или инсталляции апдейтов для других программных продуктов Microsoft. В первую очередь, это относится к MS Office. Если пользователь видит, что апдейты для Windows устанавливаются, а для других программ не хотят, нужно просто отключить их поиск и последующую интеграцию в систему.
Остается добавить, что выбор средства устранения проблемы напрямую зависит от причины, ее вызвавшей. И средства для службы апдейта не всегда подходят для устранения неполадок при создании резервных копий или при откате до предыдущего состояния.
Retrieves information about an object in the file system, such as a file, folder, directory, or drive root.
Когда появляется системная ошибка «Error: не удается найти указанный файл»?
Если исходить из описания и природы самого сбоя, нетрудно сделать вывод, что система по каким-то причинам не может найти файл вследствие его отсутствия на компьютере или удаленном сервере. В самом простом случае это можно пояснить на примере удаления некоторых программ, требующих для окончания деинсталляции осуществить рестарт системы. Но если попытаться запустить программу до перезагрузки, пользователь получит уведомление о том, системе Windows не удается найти указанный файл приложения.
Однако наиболее распространенной проблемой является функционирование «Центра обновления» и отвечающей за его работу системной службы. Все причины рассмотреть просто невозможно, поскольку даже в описаниях, представленных корпорацией Microsoft, их можно найти более пяти тысяч. Иногда ошибка 0x80070002, указывающая на ненайденные файлы может появляться и при установке, и при создании резервной копии, и при восстановлении. Устранение этой проблемы будет рассмотрено отдельно.
Читайте также: