Форум: "Начинающим";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];
ВнизСменить ресурс в EXE Найти похожие ветки
← →
antonn © (2011-06-21 22:54) [0]Есть программа, загружена в поток (stream), в ней нужно добавить/изменить ресурс, как? :)
Начал смотреть примеры, везде BeginUpdateResource() который требует файла на диске, файла нет. Могу нужную мне информацию преобразовать в формат res-файлов (опять таки они тоже в потоке), как их "внедрить" в нужную мне программу? При этом чтобы было потокобезопасно.
PS кросспостинг :)
← →
Игорь Шевченко © (2011-06-21 23:15) [1]Сохранить stream в файл, сказать BeginUpdateResource/UpdateResource/EndUpdateResource, загрузить из файла в stream
?
← →
antonn © (2011-06-21 23:16) [2]
> Сохранить stream в файл
без сохранения в файл
← →
Игорь Шевченко © (2011-06-21 23:18) [3]antonn © (21.06.11 23:16) [2]
Написать свой аналог вышеперечисленных функций, в принципе сложного нет, но велосипед-с
← →
antonn © (2011-06-21 23:20) [4]Вот я и надеюсь что такой аналог уже написан, мало ли какие подводные камни там будут и сколько времени это займет.
← →
Игорь Шевченко © (2011-06-21 23:26) [5]вот сюда глянь
http://www.wilsonc.demon.co.uk/delphi_2006.htm
особенно в http://www.wilsonc.demon.co.uk/files/d10/ResourceUtils100.zip
← →
Andy BitOff © (2011-06-21 23:27) [6]Антон, наверняка этот процесс [1] займет менее секунды, так чего беспокоиться-то? Сохранил, изменил, саписал, стрер.
← →
antonn © (2011-06-21 23:39) [7]это вебсервер, многопоточный, у него и так достаточно чего покрутить на дисках :) и располагается он отнюдь не на серверном железе, и стоит на нем прекраснейший антивирь от МС, который при создании/копировании файла очень даже отчетливо подзатупляет систему (больше чем на секунду, и это в режиме пользователя, когда я архив распаковываю). И костыль по сути получается, таки :) не нужен же мне файл на диске, я его отдать должен браузеру, предварительно сунув внутрь нужный ресурс
← →
Игорь Шевченко © (2011-06-21 23:45) [8]
> не нужен же мне файл на диске, я его отдать должен браузеру,
> предварительно сунув внутрь нужный ресурс
EXEшник ? Браузеру ?
Call me paranoid...
← →
antonn © (2011-06-21 23:56) [9]
> EXEшник ? Браузеру ?
да, с последующим запуском.
Игорь, очень тебя прошу - не телепатируй, не порть впечатление о себе
← →
antonn © (2011-06-22 01:44) [10]еще постестирую, но кажется с TPEResourceModule все получилось, спасибо :)
← →
Andy BitOff © (2011-06-22 10:47) [11]
> Игорь Шевченко © (21.06.11 23:45) [8]
Может нужно при клике на download в зависимости от опций на странице отдать нужный файл. Вот он, видимо, и хочет собрать его на лету.
← →
antonn © (2011-06-22 12:33) [12]Вообще нужно запустить программу у пользователя с параметрами, из браузера. Но это нельзя (просто нельзя и все :) учитывая все геморрои разных браузеров ). Поэтому пишу лаунчер, который читает ресурс внутри себя (в ресурсе прописаны параметры запуска) и запускает с ними программу у пользователя (если находит ее, она может быть не установлена). Пользователю лишь нужно щелкнуть "скачать" и запустить. Плюс нужно смотреть есть у текущего юзера необходимые группы прав в АктивДиректори.
если интересно, то сама задача тут: http://www.php.ru/forum/viewtopic.php?t=33781
← →
Cobalt © (2011-06-24 15:09) [13]Боже мой, боже ты мой, какое нагромождение...
если по исходным данным: ( http://www.php.ru/forum/viewtopic.php?t=33781 )
Есть сервер со сканером и веб-мордой
Как я понял, эту (или другую) якобы программу надо запускать на сервере с определенным параметром?
Тогда просто в веб-сервер добавляешь cgi-bin, если надо, с парольной авторизацией (допустим, https чтобы не внедрять в cgi-bin свою парольную проверку)
Он-то и будет запускать прогу с параметром.
Если же ты хочешь, чтобы программа запускалась не на серваке, а на другом компе, на котором читается инфа с веб-сервера, то проще это дело мониторить через программу, в которой парсится html (или xml) и по щелчку пользователя запускается программа с нужными параметрами (при необходимости - скачивается с сервака)
← →
antonn © (2011-06-24 17:21) [14]
> Как я понял, эту (или другую) якобы программу надо запускать
> на сервере с определенным параметром?
Нет, нужно запустить программу кликнув по ссылке html-странички отданной сервером-сканером. На любой машине, без установки "лишнего" софта.
Сервер самописный, нет в нем никаких cgi-bin :)
Собственно задача решена, для удаленного администрирования найденых компов нужны две программы (dwr/rdp и внутрикорпоративная спецпрога). Написал лаунчер, в ресурсы которого помещается конфиг (режим работы, имя компьютера, логин/пароль, метод авторизации, конфиг шифруется (вообще все сжимается и шифруется, но не суть :))), а в случае со спецсофтов и сама эта спецпрограммка. На страничке ссылки "запустить удаленку" и "открыть конфигуратор", при первом в лаунчер зашивается информация для коннекта DWR, во втором параметры коннекта и сама спецпрога. Лаунчер скачивается и сразу запускается (пользователем) из диалога загрузки. Запускается ДВР или спецпрога извлеченная в temp.
Ну и плюс, красоты ради, окошко на винапи выводится через любую мной updatelayeredwindow, с анимацией (лаунчер производит все операции с запуском/распаковкой в другом потоке), и так же меняется иконка и пара картинок :) 200кб вышло, для интранета, даже с областью, вполне пренебрежительный размер.
ЗЫ хоть кому-то рассказать, а то все пользующие видят только вебморду и вообще в этом "ни бум-бум" =)
← →
antonn © (2011-06-24 17:50) [15]
> через любую мной updatelayeredwindow
любимую :)
http://antonn.com/xlam/pos_launcher_ani.gif
← →
димка на (2011-06-25 18:32) [16]на крайняк можно не в ресурс писать а в конец ехе файла. потом считать.
← →
antonn © (2011-06-26 00:38) [17]еще больший изврат чем патчить выделенное заранее место по массив в коде
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.003 c