Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Перехват файла при открытии Добавлено: 25.09.06 20:57  

Автор вопроса:  Alex | Web-сайт: metalosplav.ru
Такой вот вопрос имеется какой либо файл и он открывается какой либо программой. Как сделать так чтобы при открытии этого файла перехватить его и скопировать в требуемую директорию и открыть его оттуда а изначальный файл не был бы открыт?

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #1
Добавлено: 25.09.06 21:22
Хуки апи. на всме есть. только васик в данном случае проблемен своим производством dll. нужны обычная библиотека.

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #2
Добавлено: 25.09.06 21:56
А попробуй перехватить его в реестре
(?)

Ответить

Номер ответа: 3
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #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-сайт: www.rascalspb.narod.ru
 Профиль | | #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-сайт: hunger.ru
 Профиль | | #8
Добавлено: 27.09.06 13:26
Ну-ну. Вперёд. Только расскажи каким обазом связаны CreateFile и ShellExecute?


В контексте данного вопроса имеется ввиду именно ShellExecute, насколько я понял.

Нельзя не заметить, что вариант с реестром очень даже неплохо канает в данном случае. Тем более речь идёт о ВБ, более элегантного решения наверное и не найти. Что касается "ругаться" или нет, то никто не мешает восстанавливать данные в реестре при закрытии программы.

Ответить

Номер ответа: 9
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #9
Добавлено: 27.09.06 15:59
Проблема лишь в падении программы - если случится исключение или перезагрузка или антивирус глюкнет то расширение не восстановится.
PS: прочитал вопрос ещё раз - да, здесь разговор про ShellExecute. Тогда это удобнее, но и рискованнее. Хук бы всё же понадёжнее был. Но на васике это сложно

Ответить

Номер ответа: 10
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #10
Добавлено: 27.09.06 17:18
Проблема лишь в падении программы - если случится исключение или перезагрузка или антивирус глюкнет то расширение не восстановится.
Ставить более основательную проверку на ошибки, на восстановление расширения. Можно в автозагрузке - каждый раз при включении компа, чтобы была совершена проверка предыдущей работы с реестром.
Можно всё без проблем средствами вб

Ответить

Номер ответа: 11
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #11
Добавлено: 27.09.06 17:20
Ставить более основательную проверку на ошибки, на восстановление расширения. Можно в автозагрузке - каждый раз при включении компа, чтобы была совершена проверка предыдущей работы с реестром.
Можно всё без проблем средствами вб
Хотя возиться догго, ShellExecute нав. лучше буде...

Ответить

Номер ответа: 12
Автор ответа:
 Alex



Вопросов: 13
Ответов: 26
 Web-сайт: metalosplav.ru
 Профиль | | #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-сайт: www.rascalspb.narod.ru
 Профиль | | #14
Добавлено: 11.10.06 23:14
Копай в сторону GetCommandLine (можно так, а можно и с A или W на конце)

Ответить

Номер ответа: 15
Автор ответа:
 Alex



Вопросов: 13
Ответов: 26
 Web-сайт: metalosplav.ru
 Профиль | | #15
Добавлено: 14.10.06 09:09
как в проге, которая запускается на клик файла зарегистрированного типа для этой проги, получиль полный путь к файлу - на VB6 (На VB.NET проблем нет)

И как это осущиствить приведи пример на VB.NET
Копай в сторону GetCommandLine (можно так, а можно и с A или W на конце)

Попробую

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам