Форум: "Основная";
Текущий архив: 2011.09.11;
Скачать: [xml.tar.bz2];
ВнизПереходник между чужим приложением и его файлами Найти похожие ветки
← →
reqyz (2010-02-13 07:44) [0]такой вопрос: как зделать программу, с помощью которой можно было бы изменять направление запроса другой программы.
Подробно: Открыть чужое приложение, которое было перенесено из папки, с файлами, ему принадлежащими, и когда оно попытается обратиться к ним, перенаправлять запрос туда, где эти файлы находятся, желательно, чтоб это можно было реализовать по сети, если exe файл находится на другом компьютере, относительно своих файлов?
← →
KilkennyCat © (2010-02-13 10:35) [1]зкопировать ярлык ехе файла туда куда надо относительно того где было
← →
reqyz (2010-02-13 11:01) [2]возможно мой вопрос был не совсем понятен, exe фал может находиться на другом компьютере, а программа должна отлавливать его обращения к его файлам, направлять их по сети на нужный компьютер, там обрабатывать и посылать обратно
← →
oldman © (2010-02-13 11:02) [3]
> как зделать программу, с помощью которой можно было бы изменять
> направление запроса другой программы.
Если в чужой программе нет Open или Path, а жестко прописаны файлы, то никак.
Проще написать свою программу по работе с этими файлами.
ЗЫ: Если программа берет данные из "своей" папки, то в ярлыке, кажется, указывается "рабочий каталог"...
← →
reqyz (2010-02-13 11:07) [4]
> Если в чужой программе нет Open или Path, а жестко прописаны
> файлы, то никак.Проще написать свою программу по работе
> с этими файлами.
нужно отловить поток, который пошлет эта программа, это осуществимо, просто я не умею
> ЗЫ: Если программа берет данные из "своей" папки, то в ярлыке,
> кажется, указывается "рабочий каталог"...
и что, я заранее знаю где раньше лежал исполнительный фал, вопрос то не в этом
← →
Anatoly Podgoretsky © (2010-02-13 12:01) [5]> oldman (13.02.2010 11:02:03) [3]
Если бы он мог, а так "партия дай порулить"
← →
reqyz (2010-02-13 12:10) [6]попытаюсь разбить задачу
1. В момент обращения программы к файлам перехватить это обращение, возможно используя хуки(hook).
2.перенаправить обращение к файлам, туда, где они на самом деле лежат(по сети на другой компьютер)
3.вернуть те значения, программе, которые обработали её файлы,
т.е. как бы стать мостом между программой и её фалами
вот, кто знает, как это зделать?
← →
reqyz (2010-02-13 12:13) [7]иногда место "файл", пишу "фал", буква "Й" западает, не обращайте внимание)
← →
sniknik © (2010-02-13 12:44) [8]> Если в чужой программе нет Open или Path, а жестко прописаны файлы, то никак.
на том диске куда она обращается делаешь ярлык с именем папки куда она пытается обратится, и ссылкой на сетевой ресурс... все.
???
← →
oldman © (2010-02-13 12:51) [9]
> sniknik © (13.02.10 12:44) [8]
да не хочет автор с ярлыками работать.
ему хук надо переподвывернутый.
← →
Плохиш © (2010-02-13 12:54) [10]
> sniknik © (13.02.10 12:44) [8]
Да ладно, не прикалывайся :-) Он хочет велосипед с треугольными колёсами под названием "веб-сервис/клиент"...
← →
Плохиш © (2010-02-13 12:58) [11]
> reqyz (13.02.10 12:10) [6]
>
> попытаюсь разбить задачу
> 1. В момент обращения программы к файлам перехватить это
> обращение, возможно используя хуки(hook).
Перехватываешь функцию открытия/создания файла
> 2.перенаправить обращение к файлам, туда, где они на самом
> деле лежат(по сети на другой компьютер)
>
Читаешь файл откуда хочешь
> 3.вернуть те значения, программе, которые обработали её
> файлы,
>
Возвращаешь значения в формате перехваченной в пункте 1 функции
> вот, кто знает, как это зделать?
>
Я знаю как это сделать.
← →
sniknik © (2010-02-13 13:03) [12]> да не хочет автор с ярлыками работать.
плевать на автора. это ты сказал, что если в проге жесткие обращения к файлам то никак.
> Он хочет велосипед с треугольными колёсами под названием "веб-сервис/клиент"...
ну, то что "авторы" зачастую не решают ЗАДАЧУ, а изгаляются над своим извращенным ее пониманием, и только частного пути решения (которое иногда и не путь вовсе, а тупик), это давно не секрет.
← →
oldman © (2010-02-13 13:34) [13]
> sniknik © (13.02.10 13:03) [12]
> > да не хочет автор с ярлыками работать.
> плевать на автора. это ты сказал, что если в проге жесткие
> обращения к файлам то никак.
FileName:="C:\MyProga\Data\base.db"
AutoOpen:=True
Ну и как ты перенаправишь ярлыком?
← →
sniknik © (2010-02-13 14:29) [14]> Ну и как ты перенаправишь ярлыком?
как написал, только тут одна промежуточная папка будет. для содержания собственно ярлыка
делаем папку "C:\MyProga", в ней ярлык "Data", при создании первым "размещение объекта" сетевой путь. и все.
тогда обращение по "C:\MyProga\Data\base.db" приведет на путь "C:\MyProga" + ярлык "Data" по его сетевому пути на файл base.db. что и требовалось.
← →
sniknik © (2010-02-13 14:59) [15]а хотя, да, понял... ярлыки в винде, это не тоже самое что симлинки в линуксе... так работать не будет. ;(
← →
sniknik © (2010-02-13 16:18) [16]с другой стороны, начиная с висты уже должно (почитал по теме), там сделали нормальные (или как пишет мелкософт "расширенные").
← →
Дмитрий Белькевич (2010-02-13 18:30) [17]
> с другой стороны, начиная с висты уже должно (почитал по
> теме), там сделали нормальные (или как пишет мелкософт "расширенные").
>
Не прошло и 30 лет :) В своё время на XP сильно не хватало.
← →
Slym © (2010-02-14 18:10) [18]нужно сделать перехват
по типу http://yandex.ru/yandsearch?text=ReplaceIATEntry&lr=237
ReplaceIATEntryInAllModules(kernel32,"ReadFile",@Intercept_ReadFile);
могу накидать завтра пример подмены причтении...
(писал для себя шифровалку файлов налету - на диске шифрованый, а приложение читает нормальный, прослойка незаметно дешифрует)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2011.09.11;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.003 c