Существующий на компьютере файл c program html может влиять на правильность
Имя файла Предупреждение
На вашем компьютере есть файл или папка с именем «C:\Program», что может привести к некорректной работе некоторых приложений. Переименование его в «C:\Program1» решило бы проблему. Хотите переименовать его сейчас?
1 ответ 1
Это оказывает такое большое влияние из-за давно известной слабости в Win32 API.
Программы порождаются в Win32 через системный вызов CreateProcess() . Это может быть использовано несколькими способами. Люди, пришедшие из фонов Unix, Linux или OS/2, обычно думают, что они берут два отдельных аргумента для программы (файл образа) для появления и командный хвост для передачи новому процессу, потому что имена файлов и аргументы векторы /командные хвосты это две разные вещи в API этих операционных систем. Но на самом деле системный вызов может быть вызван в альтернативной форме с именем программы и аргументами, объединенными в одну большую строку. CreateProcess() попытается отделить имя файла программы от хвоста команды.
Это общий недостаток, и он применяется к любому имени файла программы, содержащему пробелы в сочетании с любой программой, которая использует One Big String для порождения других программ. Но наиболее распространенным случаем, который поражает это, являются все программы, которые живут в C:\Program Files\ и большое количество программ Win32, которые используют подход One Big String.
Слишком поздно менять Win32 API. Это было слишком поздно десять лет назад. И Microsoft не может изменить все программы, написанные другими людьми, которые передают одну большую строку вместо двух в CreateProcess() . Таким образом, Microsoft при входе в систему проверяет Windows на наличие C:\Program и отображает предупреждение, которое вы видите.
И, как вы можете видеть, в документе Microsoft Win32 есть серьезное предупреждение "Безопасность", в котором говорится, что разработчики не должны писать программы с использованием подхода One Big String, который существует уже несколько лет.
Конфигурация компьютера | |
Процессор: Core™2 Quad Q8300 @ 2.50GHz | |
Материнская плата: MSI G41M-P33 Combo | |
Память: PQI DDR2 (PC2-6400) 2x2048 | |
HDD: SSD OCZ-AGILITY3 - 120GB | |
Видеокарта: Gigabyte GeForce GTX660 2048Mb | |
ОС: Windows 10 Pro x64 (11082) |
Странно.. а попробуйте в редакторе реестра поиск по запросу C:\Program с отметкой параметра "Искать только строку целиком"
И еще, посмотрите в msconfig как не microsift службы есть и проверьте их параметры в реестре на предмет отсутствия кавычек к исп. файлу при наличии параметровзапуска этого файла, искать следует в подразделах служб в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Конфигурация компьютера | |
Ноутбук/нетбук: Lenovo ThinkPad W530 24385AU (i7-3740QM 2.7GHz, 24GB RAM, Samsung 840 Pro 256GB + HDD 750GB) | |
ОС: Windows 10 Pro x64 Release Preview | |
Прочее: На пенсии: HP Pavilion dv7t (17.3'', i7-2630QM, HD 6770M 1Gb, 8Gb RAM) |
-------
Канал Windows 11, etc | Чат @winsiders
а это присутствием папки с именем Program
и в любом случае, выложите всё, что просили.
-------
Мнение большинства людей всегда ошибочно, ибо большинство людей - идиоты.
~ Эдгар Аллан По ~
Попробуй отобразить скрытые файлы и посмотреть, нет ли там скрытого файла Program. Если есть, мочи его (возможно из безопасного режима). И на вири неплохо было бы просканировать.
стала появляться табличка :Существующий на компьютере файл "C:\Program" может влиять на правильность работы некоторых программ.
Этого можно избежать,переименова его в "C:\Program1". Подтвердите переименовывание этого файла?
что делать?
на форуме не нашел такой проблемы.а инет раскололся на 2 лагеря.одни считают что надо переименовать(только считают),а другие что это зловред или происки майкрософт.для того чтобы ставили более свежую версию.но у меня обновления винды отключены.проверял антивиром,ничего не нашел.
1. Файл не переименовывать!
2. Систему нужно проверить на вирусы, стартанув с LiveCD.
Тему перемещаю в раздел безопасников. Сделайте лог по этой инструкции и ждите ответа от Vvvyg
Fixlog.txt:
Ваш файл занимает 1.82 Мб байт, что превышает предел на форуме в 1.00 Мб для этого типа файла.
rjvg yt gthtpfuhe;fkcz/
Если бы в формат RAR - ещё раза в полтора меньше получился бы.
Удалите файл C:\Program.html - на него ругалась система.
файл был от эксплорера.удалил,перегрузил.таблички нет.ура!спасибо.
каждый раз говорю спасибо,а у меня зеро.пробовал на весы нажимать.тоже самое.
Так сударь, на весы надо жать не у себя, а у того участника, которого Вы желаете отблагодарить! :) А зеро изменится, если кто-то поблагодарит Вас. Например, если Вы кому-то поможете.
P.S. А, кажется, дошло, о чём Вы. О строке "Сказал(а) спасибо:"? Ну, весы тут ровно ни при чём. Это вот что: В ПЕРВОМ посте каждой темы появляется специальная красная кнопка "Спасибо" у всех, КРОМЕ АВТОРА ТЕМЫ. И если ТЕМА Вам понравилась, то, нажав её, Вы повысите репутацию автору, а себе — увеличите на единицу количество высказанных благодарностей. А просто "спасибо" в тексте — ничто.
Вот я нажала "Спасибо" за восхитительные три недели демонстрации нечеловеческого терпения.
Я бы лечила всеми доступными способами, а на третий день безуспешного лечения скорее всего винду переставила бы)))
Я болела за вас эти три недели)))
Все хорошо, что хорошо кончается.
Vladimir_S понимаю что "спасибо" в тексте ничто.но и красной кнопки я никогда не видел.скрин пришлите.а Vvvyg я нажимал на весы.ничего у меня не изменилось.
Vladimir_S понимаю что "спасибо" в тексте ничто.но и красной кнопки я никогда не видел.скрин пришлите.
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Имя файла Предупреждение
На вашем компьютере есть файл или папка с именем «C: \ Program», что может привести к некорректной работе некоторых приложений. Переименование его в «C: \ Program1» решило бы проблему. Хотите переименовать его сейчас?
Звучит схематично, никакие программы (за исключением избранных) не должны устанавливаться нигде, кроме как Program Files* для обычного потребителя. Но я думаю, это потому, что плохое соответствие для поиска может найти это вместо Program Files .
Это оказывает такое большое влияние из-за давно известной слабости в Win32 API.
Программы порождаются в Win32 через CreateProcess() системный вызов. Это может быть использовано несколькими способами. Люди, пришедшие из фонов Unix, Linux или OS / 2, обычно думают, что они берут два отдельных аргумента для программы (файл образа) для появления и командный хвост для передачи новому процессу, потому что имена файлов и аргументы векторы / командные хвосты две отдельные вещи в API этих операционных систем. Но на самом деле системный вызов может быть вызван в альтернативной форме с именем программы и аргументами, объединенными в одну большую строку. CreateProcess() попытается отделить имя файла программы от хвоста команды.
Это общая слабость, и она применяется к любому имени файла программы, содержащему пробелы в сочетании с любой программой, которая использует One Big String для порождения других программ. Но наиболее распространенным случаем, который поражает это, являются все программы, которые живут под, C:\Program Files\ и большое количество программ Win32, которые используют подход One Big String.
Слишком поздно менять Win32 API. Это было слишком поздно десять лет назад. И Microsoft не может изменить все программы, написанные другими людьми, которые передают одну большую строку вместо двух CreateProcess() . Таким образом, Microsoft выполняет проверку Windows при входе пользователя в систему C:\Program и выдает предупреждение, которое вы видите.
И, как вы можете видеть, в документе Microsoft Win32 есть серьезное предупреждение «Безопасность», в котором говорится, что разработчики не должны писать программы с использованием подхода One Big String, который существует уже несколько лет.
Одна вещь, которая раздражает меня в Windows, это старая ошибка нарушения общего доступа. Часто вы не можете определить, что держит его открытым. Обычно это просто редактор или исследователь, просто указывающий на соответствующий каталог, но иногда мне приходилось прибегать к перезагрузке компьютера.
Любые предложения о том, как найти виновника?
Вы могли бы подумать, что после всего этого времени ребята из Windows дадут нам способ сделать это легко из Проводника. Интересно, почему этого не произошло?
Я считаю, что Explorer очень часто является проблемным процессом, который удерживает файл без видимой причины.
Я знаю, что это вам мало поможет, но я вспомнил, что это была запланированная функция следующего выпуска Windows после Vista и 2008 Server. или, может быть, это вещь WinFS. не уверен, где я это прочитал .
Я имел успех с Sysinternals Process Explorer . С помощью этого вы можете искать, чтобы найти, какой процесс (ы) имеют открытый файл, и вы можете использовать его, чтобы закрыть дескриптор (ы), если хотите. Конечно, безопаснее закрыть весь процесс. Проявляйте осторожность и рассудительность.
Чтобы найти конкретный файл, используйте пункт меню « Find->Find Handle or DLL. Введите» в части пути к файлу. Список процессов появится ниже.
Если вы предпочитаете командную строку, в комплект Sysinternals входит инструмент Handle командной строки , в котором перечислены открытые дескрипторы. Несколько примеров о том, как его использовать:
- c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\ - найти все файлы, открытые с диска E:
- c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question
Вы можете закрыть ручку, но имейте в виду, что вы вытаскиваете коврик из-под приложения, результаты будут в лучшем случае непредсказуемыми.
@ Уолден: Абсолютно. YMMV. С WinXP у меня много раз было, чтобы Проводник открывал ручку без видимой причины и отказывался закрывать ее. Когда это происходит с файлом, который необходимо удалить, вы можете выбрать принудительное закрытие дескриптора или перезагрузку. До сих пор, проделав это десятки раз, я не пострадал. Как с любым продвинутым инструментом, используйте с осторожностью и суждением.
Для исследователя, между прочим, удерживайте Ctrl-Shift и щелкните правой кнопкой мыши пустую область меню «Пуск», и вы получите «Выход из проводника» - ps, не совсем ответ Джеффа.
Это не помогает для не исполнительного файла или текстового файла. Мне нужно знать, кто пишет в файл журнала. Любая идея?
Для этого вы можете использовать Resource Monitor, который встроен в Windows 7, 8 и 10.
- Откройте Resource Monitor , который можно найти
- Выполнив поиск Resource Monitor или resmon.exe в меню «Пуск», или
- Как кнопка на вкладке « Производительность » в вашем диспетчере задач
- Перейти на вкладку CPU
- Используйте поле поиска в разделе « Связанные дескрипторы »
- Смотрите синюю стрелку на снимке экрана ниже
Найдя дескриптор, вы можете определить процесс, посмотрев на столбец «Изображение» и / или «PID».
Затем вы можете попытаться закрыть приложение, как обычно, или, если это невозможно, просто щелкнуть правой кнопкой мыши по дескриптору и завершить процесс прямо оттуда. Очень просто!
Стоит отметить, что может быть трудно найти эту программу в Windows 8 - поиск 'resmon.exe' должен найти ее.
Все еще действует в Windows 10 и может быть найден с помощью кнопки «Открыть монитор ресурсов» в диспетчере задач -> вкладка «Производительность».
Похоже, что это работает для Windows 2012R2 64bit, но вам нужно включить службу «открыть локальное отслеживание» путем запуска openfiles /local on и перезапуска. Это делает эту функцию не очень полезной.
Просто будьте очень осторожны с закрывающимися ручками; это даже более опасно, чем вы думаете, из-за повторного использования дескриптора - если вы закроете дескриптор файла, и программа откроет что-то еще, этот оригинальный дескриптор файла, который вы закрыли, может быть повторно использован для этого «чего-то еще». А теперь угадайте, что произойдет, если программа продолжит работу, думая, что она работает с файлом (чей дескриптор вы закрыли), когда фактически этот дескриптор файла теперь указывает на что-то другое.
Читайте также: