Страница: 1 |
Страница: 1 |
Вопрос: Перехват файла при открытии
Добавлено: 25.09.06 20:57
Автор вопроса: Alex | Web-сайт:
Такой вот вопрос имеется какой либо файл и он открывается какой либо программой. Как сделать так чтобы при открытии этого файла перехватить его и скопировать в требуемую директорию и открыть его оттуда а изначальный файл не был бы открыт?
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #1
Добавлено: 25.09.06 21:22
Хуки апи. на всме есть. только васик в данном случае проблемен своим производством dll. нужны обычная библиотека.
Номер ответа: 2
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #2
Добавлено: 25.09.06 21:56
А попробуй перехватить его в реестре
(?)
Номер ответа: 3
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #3
Добавлено: 26.09.06 00:14
-АлександР-
Ты здоров? Что значит твой пост?
Номер ответа: 4
Автор ответа:
Alexander
Вопросов: 19
Ответов: 118
Профиль | | #4
Добавлено: 26.09.06 05:00
Ra$cal как раз у алекса ответ правильный, все типы файлов ассоциированы в реестре, тоесть вполне логично и разумно не заниматься сексом с апишками и асмом, а элементарно написать программу вставку и через нее работать. сам как то издевался, делал фильтр запускаемых программ и файлов, так что -АлександР- твой ответ верный.
Номер ответа: 5
Автор ответа:
Viper
ICQ: 249094859
Вопросов: 0
Ответов: 310
Профиль | | #5
Добавлено: 26.09.06 10:30
Бред!!! Чистейший... А насчет реализации перехвата при помощи VB то вот есть статья нужного направления http://www.vbstreets.ru/VB/Articles/66343.aspx
Номер ответа: 6
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #6
Добавлено: 26.09.06 13:49
Ну-ну. Вперёд. Только расскажи каким обазом связаны CreateFile и ShellExecute?
Ну и если делать подмену в реестре, это есть очень опасное занятие.
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 26.09.06 23:51
Ну я б допустим ругался если б кто-то *.php мне в реестре на свою прогу поменял... с другой стороны, хуки тоже довольно не просто, темболее владея одним басиком...
Номер ответа: 8
Автор ответа:
BUG(O)R
ICQ: 827887
Вопросов: 13
Ответов: 142
Web-сайт:
Профиль | | #8
Добавлено: 27.09.06 13:26
В контексте данного вопроса имеется ввиду именно ShellExecute, насколько я понял.
Нельзя не заметить, что вариант с реестром очень даже неплохо канает в данном случае. Тем более речь идёт о ВБ, более элегантного решения наверное и не найти. Что касается "ругаться" или нет, то никто не мешает восстанавливать данные в реестре при закрытии программы.
Номер ответа: 9
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #9
Добавлено: 27.09.06 15:59
Проблема лишь в падении программы - если случится исключение или перезагрузка или антивирус глюкнет то расширение не восстановится.
PS: прочитал вопрос ещё раз - да, здесь разговор про ShellExecute. Тогда это удобнее, но и рискованнее. Хук бы всё же понадёжнее был. Но на васике это сложно
Номер ответа: 10
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #10
Добавлено: 27.09.06 17:18
Можно всё без проблем средствами вб
Номер ответа: 11
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #11
Добавлено: 27.09.06 17:20
Можно всё без проблем средствами вб
Номер ответа: 12
Автор ответа:
Alex
Вопросов: 13
Ответов: 26
Web-сайт:
Профиль | | #12
Добавлено: 27.09.06 21:28
А че нить более материальное просто срочно нужно. Там с примером или с еще какой нить статьей.
Viper спасибо за статью.
Номер ответа: 13
Автор ответа:
Janek
Вопросов: 41
Ответов: 62
Профиль | | #13
Добавлено: 11.10.06 15:06
как в проге, которая запускается на клик файла зарегистрированного типа для этой проги, получиль полный путь к файлу - на VB6 (На VB.NET проблем нет)
Номер ответа: 14
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #14
Добавлено: 11.10.06 23:14
Копай в сторону GetCommandLine (можно так, а можно и с A или W на конце)
Номер ответа: 15
Автор ответа:
Alex
Вопросов: 13
Ответов: 26
Web-сайт:
Профиль | | #15
Добавлено: 14.10.06 09:09
И как это осущиствить приведи пример на VB.NET
Попробую