На прошлой неделе (через три года после вопроса) я спросил об этом в ChatGPT, и там появился проект на Github под названием "Sharpshell". , какой-то проект с возможностью создания расширений для проводника Windows.
Несколько минут назад, ища «Sharpshell» здесь на сайте, я понял, что это даже стало библиотекой C#. Итак, я снова начинаю обнадеживать.
Просто чтобы прояснить, чего я хочу:
DLL в моей компании не имеют номера версии. и нам нравится, чтобы так и оставалось.
Когда мы загружаем новую DLL в систему клиента, мы понятия не имеем, что это за DLL. Я хотел бы улучшить это, добавив хеш фиксации GIT со следующими условиями:
- Этот хеш фиксации должен присутствовать и быть полностью видимым в одном из файлов. вкладка свойств. В случае, если полный хеш коммита слишком велик, я согласен использовать так называемый «короткий ша».
- Этот хеш коммита должен быть «выбираемым» из файла. свойства, как в следующих (контр)примерах:
Пример: я пытаюсь выбрать (скопировать/вставить) размер файла следующего размера, и это возможно:

Результат: 17,3 КБ (17,734 байта)
Контрпример: я пытаюсь выбрать (скопировать/вставить) дату создания этого файла:

Результат:
Если его невозможно выбрать сразу, я согласен с контекстным меню, вызываемым правой кнопкой мыши, что делает это возможным. - Чтобы всего этого добиться, Я бы попросил, чтобы "острая" DLL присутствовала в том же каталоге, что и сама DLL (некоторые из наших клиентов недавно стали жертвами кибератак, и они могут очень неохотно предоставлять нам доступ к "C:\Windows" или " каталоги C:\Windows\System32»). Это, очевидно, означает, что для DLL за пределами нашего каталога мы ничего не видим, и меня это полностью устраивает.
Заранее спасибо
P.s. 1 : так называемые «Пошаговые руководства», похоже, недоступны:
[img]https://i .sstatic.net/QoegsSnZ.png[/img]
P.s.2 : Большинство расширений предназначены для доступа к уже доступной информации (например, подсчету количества строк внутри файла), пока я ищу добавление дополнительной информации в файл, и это нужно сделать таким образом, чтобы я мог скопировать этот файл на компьютер/каталог, не поддерживая мой Расширение Explorer, но когда файл наконец поступает на компьютер клиента, который поддерживает мое расширение, эта дополнительная информация, возможно, не была отключена. Я считаю, что для этого мне нужно заполнить некоторые «метаданные» файла, который в настоящее время не используется. Это правильно?
P.s. 3: продолжая расследование, я обнаружил, что команда командной строки wmic datafile отображает метаданные файла. В случае DLL я вижу вот что (только заголовки):
Код: Выделить всё
AccessMask, Archive, Caption, Compressed,
CompressionMethod, CreationClassName, CreationDate,
CSCreationClassName, CSName, Description, Drive,
EightDotThreeFileName, Encrypted, EncryptionMethod, Extension,
FileName, FileSize, FileType, FSCreationClassName, FSName, Hidden,
InstallDate, InUseCount, LastAccessed, LastModified, Manufacturer,
Name, Path, Readable, Status, System, Version, Writeable
У меня такое впечатление, что Мне нужно будет сделать следующее:
- Установить расширение Windows Shell на свой компьютер (и компьютер каждого из моих коллег).
- Установите расширение Windows Shell на компьютер клиента.
- Либо установите расширение Windows Shell на каждый компьютер, через который будет проходить DLL.
Кто-нибудь может подтвердить?
Подробнее здесь: https://stackoverflow.com/questions/791 ... h-to-a-dll
Мобильная версия