Как называется файл, созданный приложением Windows

Обновлено: 06.07.2024

Используйте программы по умолчанию, чтобы настроить пользовательский интерфейс по умолчанию. Пользователи могут получить доступ к программам по умолчанию из панели управления или непосредственно из меню «Пуск». Инструмент «Установка доступа к программам и компьютерам по умолчанию» (SPAD), основное средство настройки по умолчанию для пользователей в Windows XP, теперь является частью программ по умолчанию.

Этот раздел не относится к Windows 10. Способ работы ассоциаций файлов по умолчанию изменился в Windows 10. Дополнительную информацию см. в разделе Изменения в том, как Windows 10 обрабатывает приложения по умолчанию в этой публикации.

Когда пользователь устанавливает программы по умолчанию с помощью программ по умолчанию, настройки по умолчанию применяются только к этому пользователю, а не к другим пользователям, которые могут использовать тот же компьютер. Программы по умолчанию предоставляют набор API-интерфейсов (устарел в Windows 8), которые позволяют независимым поставщикам программного обеспечения (ISV) включать свои программы или приложения в систему по умолчанию. Набор API также помогает независимым поставщикам программного обеспечения лучше управлять своим статусом по умолчанию.

Эта тема организована следующим образом:

Введение в программы по умолчанию и связанный с ними набор API

После того как вы зарегистрируете приложение для функций программ по умолчанию, с помощью набора API станут доступны следующие параметры и функции:

  • Восстановить все зарегистрированные значения по умолчанию для приложения. Устарело для Windows 8.
  • Восстановить одно зарегистрированное значение по умолчанию для приложения. Устарело для Windows 8.
  • Запросить владельца определенного значения по умолчанию в одном вызове вместо поиска в реестре. Вы можете запросить значение по умолчанию для ассоциации файлов, протокола или канонического глагола меню "Пуск".
  • Запуск пользовательского интерфейса для определенного приложения, в котором пользователь может установить индивидуальные значения по умолчанию.
  • Удалить все связи для отдельных пользователей.

Программы по умолчанию также предоставляют пользовательский интерфейс, позволяющий зарегистрировать приложение, чтобы предоставить пользователю дополнительную информацию. Например, приложение с цифровой подписью может содержать URL-адрес домашней страницы производителя.

Использование соответствующего набора API может помочь приложению правильно работать с функцией контроля учетных записей (UAC), представленной в Windows Vista. В UAC администратор отображается в системе как обычный пользователь, поэтому администратор обычно не может писать в поддерево HKEY_LOCAL_MACHINE. Это ограничение представляет собой функцию безопасности, которая не позволяет процессу действовать в качестве администратора без ведома администратора.

Установка программы пользователем обычно выполняется как процесс с повышенными привилегиями. Однако попытки приложения изменить поведение ассоциации по умолчанию на уровне компьютера после установки будут безуспешными. Вместо этого значения по умолчанию должны быть зарегистрированы на уровне каждого пользователя, что не позволяет нескольким пользователям перезаписывать значения по умолчанию друг друга.

Иерархическая структура реестра для ассоциаций файлов и протоколов отдает предпочтение значениям по умолчанию для каждого пользователя, а не значениям по умолчанию на уровне компьютера. Некоторые приложения включают в свой код точки, которые временно повышают их права, когда они требуют значений по умолчанию, зарегистрированных в HKEY_LOCAL_MACHINE. Эти приложения могут иметь неожиданные результаты, если другое приложение уже зарегистрировано как приложение по умолчанию для каждого пользователя. Использование программ по умолчанию предотвращает эту двусмысленность и гарантирует ожидаемые результаты на уровне каждого пользователя.

Регистрация приложения для использования с программами по умолчанию

В этом разделе показаны подразделы реестра и значения, необходимые для регистрации приложения в программах по умолчанию. Он включает полный пример.

Этот раздел содержит следующие темы:

Программы по умолчанию требуют, чтобы каждое приложение явно регистрировало ассоциации файлов, ассоциации MIME и протоколы, для которых приложение должно быть указано как возможное по умолчанию. Вы регистрируете ассоциации, используя следующие элементы реестра, которые подробно объясняются далее в этом разделе в подразделе регистрации и описаниях значений:

В следующем примере показаны записи реестра для вымышленного браузера Contoso, который называется WebBrowser:

ProgID

Приложение должно предоставить определенный ProgID. Не забудьте включить всю информацию, которая обычно записывается в общий подраздел по умолчанию для расширения. Например, вымышленный медиаплеер Litware предоставляет подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Classes\LitwarePlayer11.AssocFile.MP3 для конкретного приложения. Этот подраздел включает в себя всю информацию из универсального подраздела по умолчанию HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mp3, а также любую дополнительную информацию, которую вы хотите зарегистрировать в приложении. Это гарантирует, что если пользователь восстановит связь .mp3 с проигрывателем Litware, информация проигрывателя Litware не будет повреждена и не будет перезаписана другим приложением. (Перезапись может произойти, если подраздел по умолчанию является единственным источником этой информации.)

Когда вы сопоставляете ProgID с расширением имени файла или протоколом, приложение может сопоставлять один к одному или один ко многим. В примере Contoso ContosoHTML указывает на один идентификатор ProgID, предоставляющий информацию о выполнении оболочки для расширений .htm, .html, .shtml, .xht и .xhtml. Поскольку для каждого протокола существует свой идентификатор ProgID, при использовании протоколов вы позволяете каждому протоколу иметь собственную строку выполнения.

Если ваш MIME-тип можно просмотреть в браузере, ProgID для MIME-типа должен содержать подраздел CLSID, в котором используется идентификатор класса (CLSID) соответствующего приложения. Этот CLSID используется при поиске по CLSID в базе данных MIME, которая хранится в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\Content Type. Если ваш MIME-тип не предназначен для просмотра в браузере, этот шаг можно пропустить.

Подключ регистрации и описания значений

В этом разделе описываются отдельные подразделы реестра и значения, используемые при регистрации приложения в программах по умолчанию, как показано ранее.

Возможности

Подраздел Capabilities содержит всю информацию о программах по умолчанию для конкретного приложения. Заполнитель %ApplicationCapabilityPath% относится к пути реестра от HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE к подразделу Capabilities приложения. Этот подраздел содержит основные значения, показанные в следующей таблице.

< td>Скрытый
Значение Тип Значение
ApplicationDescription REG_SZ или REG_EXPAND_SZ Обязательно. Чтобы пользователь мог сделать обоснованный выбор назначения по умолчанию, приложение должно предоставить строку, описывающую возможности приложения. Хотя в предыдущем примере Contoso описание присваивается непосредственно значению ApplicationDescription, приложения обычно предоставляют описание в виде ресурса, встроенного в DLL-файл для облегчения локализации. Если ApplicationDescription не указан, приложение не отображается в списках пользовательского интерфейса потенциальных программ по умолчанию.
ApplicationName REG_SZ или REG_EXPAND_SZ Необязательно. Имя, под которым программа отображается в пользовательском интерфейсе программ по умолчанию. Если эти данные не предоставляются приложением, в пользовательском интерфейсе используется имя исполняемой программы, связанной с первым зарегистрированным ProgID для приложения. ApplicationName всегда должно совпадать с именем, зарегистрированным в RegisteredApplications. Вы можете использовать ApplicationName, если хотите, чтобы разные типы приложений, например браузер и клиент электронной почты, указывали на один и тот же исполняемый файл, но отображались под разными именами.
REG_DWORD Необязательно. Установите для этого значения значение 1, чтобы исключить приложение из списка программ в диалоговом окне «Установка программ по умолчанию». Если это значение равно 0 или отсутствует, то приложение отображается в списке нормально.

Ассоциации файлов

Подраздел FileAssociations содержит определенные ассоциации файлов, заявленные приложением. Эти утверждения хранятся в виде значений, по одному значению для каждого расширения. Ассоциации указывают на идентификатор ProgID для конкретного приложения, а не на общий идентификатор ProgID. Однако не обязательно, чтобы все ассоциации указывали на один и тот же ProgID.

MIMEAssociations

Подключ MIMEAssociations содержит определенные типы MIME, заявленные приложением. Эти утверждения хранятся в виде значений, по одному значению для каждого типа MIME. Имя значения для каждого типа MIME должно точно совпадать с именем MIME, хранящимся в базе данных MIME. Этому значению также должен быть назначен ProgID для конкретного приложения, который содержит соответствующий CLSID приложения.

Пуск

Подраздел меню «Пуск» связан с назначаемыми пользователем записями Интернета и электронной почты в меню «Пуск». Заявка должна быть зарегистрирована отдельно в качестве претендента на эти записи. Дополнительные сведения см. в разделе Регистрация программ с типами клиентов.

Начиная с Windows 7, в меню "Пуск" больше нет пунктов "Интернет" и "Электронная почта". Данные реестра, связанные с записью электронной почты, по-прежнему используются для клиента MAPI по умолчанию, но данные реестра, связанные с записью Интернета, вообще не используются Windows.

При связывании регистрации приложения в меню "Пуск" с его регистрацией "Программы по умолчанию" приложение появляется как потенциальное приложение по умолчанию в пользовательском интерфейсе "Установить ассоциации". Если пользователь выбрал приложение в качестве приложения по умолчанию, а затем решил восстановить все значения по умолчанию для всех приложений позже, приложение восстанавливается в положение меню «Пуск» для этого пользователя. Дополнительную информацию и иллюстрацию см. в разделе Пользовательский интерфейс программ по умолчанию далее в этом разделе.

В подразделе Startmenu есть две записи: StartMenuInternet и Mail, которые соответствуют каноническим позициям Internet и E-mail в меню Start.Приложение присваивает StartMenuInternet или Mail значение, равное имени зарегистрированного подраздела приложения в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet или HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail (как описано в разделе «Регистрация программ с типами клиентов»).

В случае канонической позиции электронной почты в меню "Пуск" он представляет собой клиент MAPI по умолчанию и, следовательно, предполагается, что он может обрабатывать вызовы MAPI. В Windows 7, хотя в меню «Пуск» больше нет канонической позиции «Электронная почта», этот подраздел по-прежнему используется для клиента MAPI по умолчанию. Приложение, запрашивающее почту по умолчанию, должно зарегистрироваться в качестве обработчика MAPI в следующем подразделе:

Если почтовый клиент не поддерживает MAPI, но все же хочет бороться за каноническую позицию электронной почты в меню "Пуск", он может зарегистрировать командную строку в следующем подразделе:

Кроме того, в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\CanonicalName добавьте значение по умолчанию с именем приложения.

Эти записи позволяют запускать приложение из позиции электронной почты в меню "Пуск". Обратите внимание, что вызовы MAPI по-прежнему выполняются для приложения и либо не проходят к предыдущему обработчику MAPI, либо терпят неудачу, если обработчик MAPI не был установлен. Дополнительные сведения см. в разделе Регистрация программ с типами клиентов.

Ассоциации URL

Подключ UrlAssociations содержит определенные протоколы URL-адресов, заявленные приложением. Эти утверждения хранятся в виде значений, по одному значению для каждого протокола. Каждый протокол должен указывать на идентификатор ProgID для конкретного приложения, а не на общий идентификатор ProgID. Как упоминалось в примере с Contoso, вы можете использовать разные ProgID для каждого протокола, чтобы у каждого была своя строка выполнения.

Зарегистрированные приложения

Полный подраздел для RegisteredApplications:

HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications

Этот подраздел предоставляет операционной системе расположение в реестре сведений о программах по умолчанию для приложения. Местоположение сохраняется как значение, имя которого должно совпадать с именем приложения.

Полный пример регистрации

В этом примере показаны подразделы и значения, используемые при регистрации вымышленного медиаплеера Litware. В пример включены записи ProgID, чтобы показать, как все это сочетается друг с другом.

В следующем подразделе показан идентификатор ProgID для конкретного приложения для типа MIME .mp3:

Далее идет идентификатор ProgID для конкретного приложения, который связывает программу Litware с расширением имени файла .mp3.

Следующие записи показывают комбинированный ProgID как для типа .mpeg MIME, так и для расширения имени файла.

Следующие записи регистрируют программу Litware в программах по умолчанию и используют ранее зарегистрированные идентификаторы ProgID

Наконец, в этом примере регистрируется место регистрации программ Litware по умолчанию.

Стать браузером по умолчанию

Регистрация в браузере должна соответствовать рекомендациям, изложенным в этом разделе. Когда браузер установлен, Windows может представить пользователю системное уведомление, с помощью которого пользователь может выбрать браузер в качестве системного по умолчанию. Это уведомление отображается, когда выполняются следующие условия:

В следующем примере показан рекомендуемый код регистрации, который должен запустить установщик браузера после записи ключей реестра.

SCHhangeNotify сначала уведомляет систему о том, что доступны новые варианты связи. Вызов SCHhangeNotify необходим для обеспечения правильного функционирования системных значений по умолчанию.

Затем инструкция Sleep дает системным процессам время на обработку уведомления.

Если пользователь закроет или проигнорирует полученное уведомление или всплывающее окно, не выбрав новый браузер по умолчанию, браузер по умолчанию останется без изменений. Обратите внимание, что пользователь также может изменить браузер по умолчанию в любое время с помощью других механизмов, включая установку пользовательских настроек по умолчанию на панели управления.

Интерфейс программ по умолчанию

На иллюстрациях в этом разделе показан пользовательский интерфейс для программ по умолчанию, как его видит пользователь.

На следующем рисунке показано главное окно «Программы по умолчанию» на панели управления.

снимок экрана программ по умолчанию страница входа

Когда пользователь выбирает параметр «Установить программы по умолчанию», появляется следующее окно. Пользователи могут использовать эту страницу для назначения программы по умолчанию для всех типов файлов и протоколов, для которых эта программа является возможной программой по умолчанию. Как показано на следующем рисунке, все зарегистрированные программы и значок программы отображаются в поле «Программы» слева.

снимок экрана вашего набора страница программ по умолчанию

Когда пользователь выбирает программу из списка, отображается значок программы и поставщик.Если URL-адрес встроен в сертификат с цифровой подписью программы, программа также может отображать URL-адрес. Программы без цифровой подписи не могут отображать URL.

Также отображается описательный текст, который предоставляется программой во время регистрации. Этот текст обязателен. Под полем описания указано, сколько значений по умолчанию назначено программе в настоящее время из полного числа, для обработки которого она зарегистрирована.

Чтобы назначить или восстановить программу по умолчанию для всех файлов и протоколов, для которых она зарегистрирована, пользователь выбирает параметр Установить эту программу по умолчанию.

Чтобы назначить программе отдельные типы файлов и протоколы, пользователь выбирает параметр "Выбрать значения по умолчанию для этой программы", в результате чего отображается окно "Установить ассоциации" для окна программы, как показано на следующем рисунке.

Мы рекомендуем вызывать ассоциации Set для программы с помощью IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI.

снимок экрана с установленными ассоциациями для страницы программы

Рекомендации по использованию программ по умолчанию

В этом разделе приведены рекомендации по использованию программ по умолчанию при регистрации приложений. В нем также предлагаются предложения по дизайну для создания приложения, предоставляющего пользователям оптимальную функциональность программ по умолчанию.

Во время установки

В дополнение к процедурам установки, обычно используемым в Windows XP, приложение для Windows Vista или более поздней версии должно зарегистрироваться в функции "Программы по умолчанию", чтобы воспользоваться ее функциями.

Выполните следующую последовательность шагов во время установки. Шаги 1-3 соответствуют шагам, которые использовались в Windows XP; шаг 4 был новым в Windows Vista.

  1. Установите необходимые двоичные файлы.
  2. Запишите идентификаторы ProgID в раздел HKEY_LOCAL_MACHINE. Обратите внимание, что приложения должны создавать идентификаторы ProgID для своих ассоциаций.
  3. Зарегистрируйте приложение в программах по умолчанию, как описано выше в разделе Регистрация приложения для использования с программами по умолчанию.

После установки

В этом разделе обсуждается, как в приглашении приложения сначала должны отображаться параметры по умолчанию для каждого пользователя. Также обсуждается, как приложение может отслеживать свой статус по умолчанию для возможных ассоциаций и протоколов.

Впечатления от первого запуска

Когда приложение запускается пользователем в первый раз, рекомендуется, чтобы приложение отображало пользователю пользовательский интерфейс, который обычно включает следующие два варианта:

  • Примите настройки приложения по умолчанию. Этот параметр выбран по умолчанию.
  • Настройте параметры приложения по умолчанию.

До Windows 8, если пользователь принимает настройки по умолчанию, ваше приложение вызывает IApplicationAssociationRegistration::SetAppAsDefaultAll, который преобразует все ассоциации на уровне компьютера, объявленные во время установки, в настройки для каждого пользователя для этого пользователя.

Если пользователь решает настроить параметры, ваше приложение вызывает IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI для отображения пользовательского интерфейса ассоциации файлов. На следующем рисунке показано это окно для вымышленного медиаплеера Litware.

снимок экрана с набором ассоциаций для страницы программы для ЛИТ

В окне сопоставления файлов отображаются значения по умолчанию, зарегистрированные приложением, а также текущие значения по умолчанию для других расширений и протоколов. После того, как пользователь завершит настройку своих значений по умолчанию, он нажимает кнопку «Сохранить», чтобы зафиксировать изменения. Если пользователь нажмет кнопку "Отмена", окно закроется без сохранения изменений.

Вы должны использовать этот пользовательский интерфейс для своих приложений, а не создавать свой собственный. Тем самым вы экономите ресурсы, которые ранее требовались для разработки пользовательского интерфейса сопоставления файлов. Вы также гарантируете правильное сохранение связей.

Настройте приложение для проверки того, является ли оно приложением по умолчанию

Это больше не поддерживается в Windows 8.

При запуске приложения обычно проверяют, установлены ли они по умолчанию. Настройте свои приложения для выполнения этой проверки, вызвав IApplicationAssociationRegistration::QueryAppIsDefault или IApplicationAssociationRegistration::QueryAppIsDefaultAll.

Если приложение определяет, что это не приложение по умолчанию, оно может представить пользовательский интерфейс, который спрашивает пользователя, принять ли текущую ситуацию или сделать приложение приложением по умолчанию. Всегда включайте в этот пользовательский интерфейс флажок, который установлен по умолчанию и предоставляет возможность больше не спрашивать.

Выбор значения по умолчанию должен осуществляться пользователем. Приложение никогда не должно восстанавливать значение по умолчанию, не спросив пользователя.

Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.

Ссылка на главную страницу Visual Studio

Вопрос:

Общие обсуждения

Я хочу определить, какой процесс создал файл. Это возможно? Я наткнулся на FileInfo, но не вижу способа определить, кто создал файл. Этот процесс только что создал файл и все еще работает.

  • Отредактировано tyler_montney 4 июля 2014 г., 7:20
  • Измененный тип: Франклин Чен, сотрудник Microsoft, пятница, 18 июля 2014 г., 8:03 Обсуждение

Все ответы

Редактировать: я думал об этом, и я думаю, что мне действительно не нужно знать процесс. Моя идея заключалась в том, что при обнаружении файлов-нарушителей моя программа уничтожит процесс, ответственный за создание этих файлов. Что я могу сделать, так это просто удалить файлы по мере их копирования. Это не чисто, но это сработает.

Я видел ProcMon, но не думаю, что смогу использовать его так, как хочу. Его аргументы командной строки кажутся ограниченными. Я наткнулся на аналогичную ветку на SO, которая рекомендовала ProcMon, но я заметил, что они упоминают, что «процесс, создавший файл, может быть давно мертв». Процесс, который создает эти файлы, все еще будет запущен, файл только что был создан.

Я также заметил, что Windows не сохраняет эту информацию. Есть ли способ сохранить эту информацию в Windows или, по крайней мере, в стороннем приложении, которое начинает ее регистрировать? Я мог бы изменить свою программу, чтобы использовать FileSystemWatcher для мониторинга каждого файла и каталога, созданного в определенных каталогах. Мне не нужны данные о создании предыдущих файлов, только данные о файлах, созданных после первого запуска моей программы.

Вы можете связать расширение файла только с программой. Например, я могу создать файл MS-Excel с помощью Excel, Блокнота, автоматизации Office, но нельзя знать, какая программа или метод использовались для создания указанного файла. Теперь, с учетом сказанного, есть способы узнать, с какой программой связан файл (все еще не дает вам, что его создало), но это не на 100% точно.

Не забывайте помечать ответы как ответы, если они помогают, и снимать пометки, если они бесполезны. Это поможет другим, кто ищет решения той же или похожей проблемы.

Нет, в файловой системе ОС Windows нет информации.

Имейте в виду, что на форумах Technet можно найти больше экспертов по этому вопросу.

Действительно актуальная тема на этом форуме по языку программирования. Если бы это было так, то нынешние самые важные актуальные праздники в мире Рамадан также были бы в тему.

"Нет, в файловой системе ОС Windows нет информации"

Это неправда. Информацию смотрите в MFT. Создатель или владелец файла может находиться в атрибуте вызова «Стандартная информация». Конечно, у меня есть информация об атрибутах.

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно неполноценно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." я

В чем я не уверен, так это в формате Owner_Id. Я постараюсь узнать. Информация об авторских правах приведена в следующем сообщении.

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно неполноценно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." я

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно неполноценно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." я

"Нет, в файловой системе ОС Windows нет информации"

Это неправда. Информацию смотрите в MFT. Создатель или владелец файла может находиться в атрибуте вызова «Стандартная информация». Конечно, у меня есть информация об атрибутах.

Рене

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно несовершенно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." Я


Я подозреваю, что владелец будет там.

У меня 64-разрядная домашняя версия Windows 7. Он не поставляется с редактором групповой политики. Поэтому аудит файлов или папок не будет выполняться, а события будут передаваться в журнал безопасности.

Однако я искал и нашел в сети установщик для GPE. Хотя я не мог убедиться, что он не установит вирус, возможно, я проверил его на наличие вирусов после загрузки. Итак, я установил GPE в свою систему, и он работает, и я просканировал всю систему на наличие вирусов, но ничего не нашел.

Как бы то ни было, я установил аудит для папки, использовал Блокнот для создания файла, а затем сохранил его в этой папке. В журнале безопасности средства просмотра событий появляются следующие записи об этом файле.

Я получил записи из средства просмотра событий. У каждого также есть информация XML при копировании из средства просмотра событий, но я удалил все это, кроме последней записи, просто чтобы показать ее.

Но я считаю, что после удаления этих журналов доступен только владелец файла. Не тот процесс, который использовался для создания файла.Поэтому я хочу, чтобы приложение записывало файл в эту папку, которая проверяется, и смотрело, какие записи происходят.

"Нет, в файловой системе ОС Windows нет информации"

Это неправда. Информацию смотрите в MFT. Создатель или владелец файла может находиться в атрибуте вызова «Стандартная информация». Конечно, у меня есть информация об атрибутах.


Да, вы живете в стране, которая говорит о независимости, в то время как большая часть мира находится в зависимости.

Значит, ваш способ написания независимого дня не соответствует действительности.

Я писал в контексте вопроса. Владелец не имеет отношения к используемой программе.

Не могли бы вы написать мне? Кажется, у меня есть кое-что для вас.

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно неполноценно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." я

После создания MSI и установки приложения в нижней записи отображается имя приложения, когда приложение создало файл.

Я хочу определить, какой процесс создал файл. Это возможно? Я наткнулся на FileInfo, но не вижу способа определить, кто создал файл. Этот процесс только что создал бы файл и все еще работает.

В приведенной выше ветке я разместил код для получения события удаления из журналов событий для папки, отслеживаемой FileWatcher.

Его можно изменить, чтобы получать соответствующие записи из журнала событий, когда FileWatcher обнаруживает созданный файл, как я полагаю.

Хотя, если ваша ОС не поставляется с редактором групповой политики, как это делают ведущие ОС, вам придется установить его, найдя где-нибудь в сети доверенного установщика. Единственный установщик для GPE, который я нашел, был сделан кем-то, и по ссылке также были инструкции по добавлению папок в систему и копированию в них некоторых файлов, если я правильно помню.

Но Кор. ты сказал:

"Нет, в файловой системе ОС Windows нет информации"

Это не так, независимо от контекста. Поле идентификатора владельца может быть удалено, пока рано говорить. Но я думаю, что до версии 8.0 она есть.

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно неполноценно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." я

Но Кор. вы сказали:

"Нет, в файловой системе ОС Windows нет информации"

Это не так, независимо от контекста. Поле идентификатора владельца может быть удалено, пока рано говорить. Но я верю, что до версии 8.0 она есть.

Рене

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно несовершенно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." Я

Рене, есть разница между владельцем и приложением, создавшим файл. Вы можете получить владельца, щелкнув файл правой кнопкой мыши и проверив его свойства. Что вы также можете сделать программно. Я полагаю, что владельцем является учетная запись, изначально создавшая файл.

Мистер Монки, мальчик,

Не могли бы вы написать мне? Мне кажется, у меня есть кое-что для вас.

Рене

"СОВРЕМЕННОЕ ПРОГРАММИРОВАНИЕ элементарно несовершенно ИЗ-ЗА ПРОБЛЕМ, ПРИДУМАННЫХ СОВРЕМЕННЫМ ПРОГРАММИРОВАНИЕМ." Я

ОК. Я только что прочитал этот пост. Иначе я бы написал вам раньше. Кажется, у меня есть ваш адрес электронной почты. Сейчас 22:15. мое время.

Я хочу определить, какой процесс создал файл. Это возможно? Я наткнулся на FileInfo, но не вижу способа определить, кто создал файл. Этот процесс только что создал бы файл и все еще работает.

filesystemwatcher удаляет событие, получает пользователя и время

В приведенной выше теме я разместил код для получения события удаления из журналов событий для папки, за которой следит FileWatcher.

Это можно изменить, чтобы получать соответствующие записи из журнала событий, когда FileWatcher обнаруживает созданный файл, я полагаю.

Хотя, если ваша ОС не поставляется с редактором групповой политики, таким как top OS, тогда вам придется установить его, найдя где-нибудь в сети доверенного установщика. Единственный установщик для GPE, который я нашел, был сделан кем-то, и по ссылке также были инструкции по добавлению папок в систему и копированию в них некоторых файлов, если я правильно помню.

La vida loca

< /цитата>

Это часть приложения, которое будет доступно пользователю. Он/она может работать с любой версией, скажем, Vista или выше. Я хочу, чтобы каждый мог запустить его. У большинства людей есть Home Premium. Так что исключение этой версии действительно уменьшило бы аудиторию моей программы. Мне нужно решение, которое можно включить в мою программу, то, о чем пользователю не нужно знать. Они просто запускают мою программу, и она работает.

Это часть приложения, которое будет доступно пользователю. Он/она может работать с любой версией, скажем, Vista или выше. Я хочу, чтобы каждый мог запустить его. У большинства людей есть Home Premium. Так что исключение этой версии действительно уменьшило бы аудиторию моей программы.Мне нужно решение, которое можно включить в мою программу, то, о чем пользователю не нужно знать. Они просто запускают мою программу, и она работает.

Я думаю, вам нужно в общих чертах рассказать нам, чего вы пытаетесь достичь, а не представлять нам эту конкретную проблему. На самом деле определение того, какое приложение создало файл, будет в лучшем случае неуклюжим и ненадежным, а для домашних пользователей, вероятно, в большинстве случаев невозможным.

Итак, если мы согласны с тем, что этот путь не подходит, сообщите нам, какова конечная цель, и, возможно, мы сможем работать в обратном направлении, чтобы предложить вам жизнеспособное решение. :-)

Файлы программы могут относиться к любому из следующего:

<р>1. При использовании в качестве существительного в единственном числе файл приложения или файл программы описывает файл, в котором хранится код для запуска программы. Этот тип файла обычно называют исполняемым файлом. При ссылке на более чем один файл программные файлы — это все различные файлы, которые позволяют программному обеспечению работать на вашем компьютере. Большинство программ имеют различные типы файлов (например, DLL-файлы, файлы данных и т. д.), используемые вместе с исполняемым файлом.

Связанные страницы программных файлов

Файлы программы

<р>2. Program Files – это папка, впервые обнаруженная в Microsoft Windows 95 и включенная во все более поздние версии Microsoft Windows, в которой хранятся программы, установленные на компьютере.

Как открыть папку Program Files

По умолчанию папка Program Files находится в корневом каталоге основного жесткого диска по пути C:\Program Files. Чтобы открыть эту папку на своем компьютере, выполните следующие действия.

  1. Откройте Проводник.
  2. Выберите этот компьютер или компьютер.
  3. Откройте диск C:.
  4. Откройте папку Program Files или Program Files (x86).

Какие программы должны находиться в папке Program Files?

Папка Program Files и папки Program Files (x86) должны содержать папки программ, установленных на компьютере.

Можно ли удалить Program Files или Program Files (x86)?

Нет. Хотя эти папки можно удалить, они являются частью Windows и являются местами по умолчанию, в которые Windows устанавливает ваши программные файлы. Если вы удалите любую из этих папок, все установленные программы, содержащиеся в этой папке, также будут удалены.

Если вы хотите удалить эти папки, чтобы освободить место на жестком диске, мы рекомендуем удалить программы, а не удалять эти папки. Справку по удалению программ см. в статье Удаление программного обеспечения в Windows.

Что такое каталог программы~1?

В ранних версиях MS-DOS и Windows, которые поддерживали только формат именования файлов 8.3, каталог «Program Files» был слишком длинным. Для обратной совместимости каталог «Programs Files» будет отображаться как «progra~1» (максимум восемь символов). Сегодня, поскольку все операционные системы поддерживают длинные файлы, это имя каталога встречается редко.

Переводы программных файлов

Если вы используете неанглийскую версию Windows, этот каталог может быть переведен на другое имя, как показано в примерах ниже.

Файл может относиться к любому из следующего:

Компьютерные файлы

<р>1. Файл — это объект на компьютере, в котором хранятся данные, информация, настройки или команды, используемые с компьютерной программой. На компьютере есть три типа файлов: файлы приложений, файлы данных и системные файлы.

В GUI (графическом пользовательском интерфейсе), таком как Microsoft Windows, файлы отображаются в виде значков, относящихся к программе, открывающей файл. Например, все значки PDF выглядят одинаково и открываются в Adobe Acrobat или программе чтения, связанной с файлами PDF. Если программа связана с программой, двойной щелчок по значку открывает ее в программе по умолчанию.

Как создаются файлы?

Файл создается с помощью компьютерной программы. Например, для создания текстового файла вы должны использовать текстовый редактор, для создания файла изображения — редактор изображений, а для создания документа — текстовый процессор.

Где хранятся файлы?

Компьютерные файлы хранятся на диске (например, на жестком диске), диске (например, DVD) и дискете (например, на гибком диске) и могут находиться в папке (каталоге) на этом носителе.

Сохраняя файл на свой компьютер, вы сохраняете файл на жесткий диск.

Управление файлами

Пользователи компьютеров Microsoft Windows могут просматривать, управлять и упорядочивать свои файлы с помощью Проводника Windows, а пользователи Apple могут использовать Finder. Дополнительную информацию об управлении файлами см. в нашем определении файловой системы.

Расширения файлов и типы файлов

Список файлов в проводнике с именем и расширением

Сегодня на компьютерах используются миллионы файлов, которые идентифицируются либо по расширению файла, либо по данным файла. Например, изображение проводника Windows выше — это файл «Regedit.exe». «Regedit» — это имя файла, а «.exe» — это расширение файла, которое идентифицирует файл как исполняемый файл. Следующий файл «RtlExUpd.dll» — это DLL-файл и еще один пример файла.

В новых версиях Windows расширения файлов по умолчанию скрыты. Если расширения файлов скрыты, вы также можете получить общее представление о типе файла, взглянув на столбец Тип. В приведенном выше примере файл «Regedit.exe» является «приложением», а файл «RtlExUpd.dll» — «расширением приложения».

Какой длины может быть файл?

В более ранних версиях Microsoft Windows и MS-DOS используется соглашение об именах файлов, называемое форматом 8.3. Это соглашение поддерживало максимальное имя файла из восьми символов и до трех символов в расширении.

С появлением Windows 95 Windows присоединилась к другим операционным системам в поддержке длинных имен файлов. Теперь все последние версии Windows могут поддерживать имена файлов длиной до 255 символов.

Почему у файлов разные значки?

Пурпурный значок текстового файла.

Поскольку существуют тысячи различных форматов файлов, для определения типа файла или связанной с ним программы используются разные значки. Например, при прокрутке сотен файлов текстовый файл можно идентифицировать по значку файла, который выглядит как блокнот. Наличие уникальных значков также полезно, когда расширения файлов скрыты.

Иконка файла чаще всего меняется, когда изменяется программа по умолчанию, используемая для открытия файла.

Недопустимые символы файла

В большинстве операционных систем указанные ниже символы считаются недопустимыми и не могут использоваться. Попытка создать файл с этими символами в имени файла приведет к ошибке или сделает файл недоступным.

Кроме того, многие операционные системы, включая Windows, имеют зарезервированные слова, которые также нельзя включать в имена файлов. Примеры зарезервированных слов см. в определении зарезервированных слов.

Чем файлы отличаются от каталога или папки?

Каталог (папка) — это область на компьютере, содержащая другие каталоги и файлы, которая помогает поддерживать порядок на компьютере. Файлы могут содержаться в каталоге и содержать информацию, используемую операционной системой или другими программами на компьютере. См. нашу страницу каталогов для получения дополнительной информации о каталогах.

Дополнительная информация

<р>2. Команда Linux, дополнительную информацию об этой команде см. на странице команды файла.

Читайте также: