Что самое печальное — одна из таких систем внедрена на моей текущей работе. После того, как «Dropbox» продолжил отлично работать вместе с этой системой защиты, относительно её качества у меня не осталось никаких сомнений.
Но кроме своей полной бесполезности система имеет свойство доставлять некоторые неприятности. Например, при выборе файла для отправки через браузер вылезает предупреждение о том, что так поступать нехорошо и приходится убивать процесс. Жутко неудобно. При этом, если вбивать сразу полный путь, то всё работает великолепно. Но заниматься строковой магией вручную противно.
И пока я не разберусь, как же система перехватывает обращения к диалогу выбора файла родилось временное решение: добавить действие копирование полного адреса в контекстное меню файла.
Для этих целей была написана жутко длинная и крайне сложная программа
class Program
{
[STAThread]
public static void Main(string[] args)
{
if(args != null && args.Any())
{
Clipboard.SetText(string.Join(string.Empty,args));
}
}
}
А дальше пошли разбирательства с расширениями Windows Shell. Следует сказать, что дела с ним раньше я особо не имел, поэтому делал всё максимально рабоче-крестьянски. По быстрому ознакомившись HKEY_CLASSES_ROOT\*\Shell\CopyPath\Command
В значение
HKEY_CLASSES_ROOT\*\Shell\CopyPath
В
HKEY_CLASSES_ROOT\*\Shell\CopyPath\Command
G:\CopyItemsPath.exe "%1"
После этих действий я получил готовый пункт меню для каждого файла. Теперь можно придумать занятие поинтересней, например найти как можно отключить блокирование диалогов или шифрование флешки в дурацкой системе защиты от распространения внутрикорпоративной информации.
Комментариев нет:
Отправить комментарий