обнаружьте операцию копии Windows Explorer

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

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

Наконец, я не ясен, почему необходимо знать, из которого прибыла таблица каждый из столбцов. Это имеет значение? В конечном счете то, что имеет значение, является данными, которые они содержат. Произошел ли UserID из таблицы User, или таблица UserQuestion действительно не имеет значения. Имеет значение, конечно, когда необходимо обновить его, но в той точке необходимо уже знать, что схема достаточно хорошо определяет это.

5
задан Attilah 18 October 2009 в 17:24
поделиться

3 ответа

Да, можно.

Вы должны реализовать расширение оболочки , которое должно перехватить операцию копирования файла . Существует множество примеров того, как это делать на C ++ (с использованием собственного Win32 API), а также с использованием C # или других языков платформы .NET. Я уверен, что вы тоже можете использовать Delphi, но я не знаю подробностей, связанных с вызовами Win32 API.

Вот статья, в которой подробно описывается реализация простого расширения оболочки на C # .

Конечно, вы также можете захотеть взглянуть на фильтры ввода-вывода файлов Windows, хотя они позволяют вам наблюдать только файловые операции, такие как создание, копирование, изменение или удаление. В .NET создание фильтра ввода-вывода файла с использованием System.IO тривиально.

10
ответ дан 18 December 2019 в 08:29
поделиться

Примеры создания расширения оболочки обработчика копирования можно найти в папке delphi установки \ Demos \ ActiveX \ ShellExt \ copyhook.dpr

Здесь у вас есть еще один дополнительный пример

Пока.

6
ответ дан 18 December 2019 в 08:29
поделиться

Вам не нужно никаких расширений Shell.
Вам просто нужно подключить API-интерфейс Shell.

3
ответ дан 18 December 2019 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: