Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
4-1251292381
Bora
2009-08-26 17:13
2011.10.16
Перехват событий от мыши в любом месте экрана


1-1269120802
olookin
2010-03-21 00:33
2011.10.16
Обновление TChart для показа визуальных Parent-элементов


2-1309043057
Gu
2011-06-26 03:04
2011.10.16
Текстовые ресурсы


15-1308984778
oleg1963lora
2011-06-25 10:52
2011.10.16
Хост в 40 Гб бесплатно на 48 часов. Возможно ли это?


6-1243060061
apic
2009-05-23 10:27
2011.10.16
настройка сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский