![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| D_soyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.4.2007 Репутация: нет Всего: нет |
Нужно заменить копирование с помощью вин. метода на свою программу, может кто подскажет, как:
- запретить запуск копирования виндой. - получить адреса, для передачи в свою программу. Буду очень благодарен. Заранее спасибо. |
|||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Это решается перехватом Api функций:
Если не ошибаюсь.... Поиск: Перехват Api |
|||
|
||||
| D_soyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.4.2007 Репутация: нет Всего: нет |
||||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
||||
|
||||
| D_soyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.4.2007 Репутация: нет Всего: нет |
||||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Плохо искал.
Вот из MSDN: http://msdn2.microsoft.com/en-us/library/aa363851.aspx Именно их тебе и надо перехватывать Это сообщение отредактировал(а) bartram - 25.4.2007, 21:18 |
|||
|
||||
| D_soyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.4.2007 Репутация: нет Всего: нет |
т.е. как я понял мне нужно регистрировать в системе процесс, который будет все время запущен и проверять вышеуказанные действия? Если не сложно, покажи на примере.
|
|||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Тебе надо почитать про Перехват Api. Ссылку давал во втором посте
|
|||
|
||||
| D_soyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.4.2007 Репутация: нет Всего: нет |
bartram
Хорошо, допустим я разобрался с перехватом и перехватил сообщение о копировании. Значит мне нужно зарегистрировать в системе процесс(dll), для постоянного наблюдения, так ведь? Либо можно организовать драг-н-дроп с правой клавиши, уже не трогая копирование виндовс(произодя копирование непосредственно моей программой). Но и первый и второй способ требует регистрации процесса, это для меня прямо тупик, может подкинешь идею? |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
||||
|
||||
| D_soyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.4.2007 Репутация: нет Всего: нет |
function CopyFileHookProc(lpExistingFileName, lpNewFileName: PChar; bFailIfExists: BOOL): BOOL; stdcall; - хук копирования файла. Мне нужно отлавливать его все время, после установки(даже когда моя программа не запущена). Вопрос: как это реализовать?
|
|||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
При запуске системы подгружай ко всем процессам через реестр. Это сообщение отредактировал(а) bartram - 27.4.2007, 13:09 |
|||
|
||||
| D_soyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.4.2007 Репутация: нет Всего: нет |
bartram
Я не знаю, как это сделать. Понимаю принцип, но не техническую часть. Облазил реестр на примере Киллкопи, вот что нашел: - как я понял, это хендлы контекстного меню (HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\KillCopy\{A5C2457A-87BC-324E-8124-0025DC10AA03}) HKEY_CLASSES_ROOT\*\shellex\DragDropHandlers\KillCopy\{A5C2457A-87BC-324E-8124-0025DC10AA03} - это один из вариантов, которые мне были нужны.
Эти значения: {A5C2457A-87BC-324E-8124-0025DC10AA03} берутся из головы? - далее HKEY_CLASSES_ROOT\Folder - это, наверно, хендлы на драг-н-дроп папки(?) - и по идее сама регистрация Киллкопи: HKEY_CLASSES_ROOT\CLSID\{A5C2457A-87BC-324E-8124-0025DC10AA03}\killcopy.dll |
|||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
||||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |