Страница 1 из 1

Перехватить нажатие Ctrl+C, Ctrl+x, Ctrl+v в Windows

Добавлено: 21 янв 2009, 15:23
dr.Jekill
Перехватить нажатие Ctrl+C, Ctrl+x, Ctrl+v (а так же команды меню Копировать, Вырезать, Вставить) в Windows и запомнить к каким файлам это относится.
Как проверить есть ли среди выделенных файлов на диске CD/DVD поврежденные?

Пожалуйста поделитесь соображениями - Буду очень признателен! :)

С уважением dr.Jekill.

Re: Перехватить нажатие Ctrl+C, Ctrl+x, Ctrl+v в Windows

Добавлено: 21 янв 2009, 15:50
Naeel Maqsudov
1)
Тотальный перехват событий в Windows возможен (ищите про Хуки (Hooks)), но это не то что вам нужно.
Есть возможность перехвата именно команд копирования/перемещения/удаления. (copyhook).
Для этого пишется COM-сервер, реализующий специально для этого предусмотренные интерфейсы Explorer. После регистрации в Windows он будет получать управление при выполнении данных операций и сможет влиять на их работу (например, определенные файлы при копировании).

Лет 6 назад выходила книга про использование DCOM в Delphi, если она у меня еще сохранилась, пришлю ее название. Там как раз был готовый пример такого встраивания в Explorer.

2)
Проверить наличие поврежденных файлов можно только если попытаться их прочитать и обработать соответствующее исключение. По-другому - никак.

Re: Перехватить нажатие Ctrl+C, Ctrl+x, Ctrl+v в Windows

Добавлено: 21 янв 2009, 16:36
dr.Jekill
Большое спасибо!
А если еще дадите название книги - Вам просто цены не будет! :)

Про второй пункт, если можно поподробнее.

Есть еще у кого какие идеи?