![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Доброго времени суток!
Есть некое консольное приложение, в котром нужно провести манипуляции изнутри. Допустим подстановка своего заголовка через SetConsoleTitle. Вопрос: Каким образом в эту подгруженную dll передать нужный мне заголовок(строку)(который будет задан консольному окну). Вот есть dll: Код:
Но это "статический" метод. И не пожходит. Мне нужно задавать текст заголовка самостоятельно(т.е. передавать его в эту dll), как это сделать? |
![]() |
![]() |
![]() |
#2 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Думаю memory-mapped file, wm_copydata должно хватить...
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Хех, а куда именно мне передавать wm_copydata из программы. Если мне только processid известен.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 318
|
![]()
ну поготь, у тебя ж функция SetWindowCaption принимает параметр aNewCaption что в него не передаешь?
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
проблема в том что я гружу dll в чужой процесс.
И Код:
Хотя вот, нашёл исходник программы вин-локера. длл написана на c++ , программа на delphi. Если кто-то может, пояните пожалуйста, как программа передаёт в dll сведенья о том, что включать а что выключать. Хотя не думаю, что это поможет мне понять как передать строку в dll, которая находится в чужом Адрсном Пространстве. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 318
|
![]()
как уже было упомянуто используй memory-mapped file
|
![]() |
![]() |
![]() |
#7 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Человек_Борща, ну так поставь глобальный хук и используй memory-mapped file ... в чем проблема-то?
EDIT: Кстати, в аттаче выше используется #pragma data_seg - сишная фича...тут можно почитать...
Будь проще и люди к тебе потянутся
Последний раз редактировалось spamer; 18.09.2011 в 00:46. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Ага, т.е.
1. загружаем dll в процесс 2. Создаём mmf 3. dll хавает mmf, меняет заголовок, и выгружается. 4. уничтожаем mmf Я правильно понял? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Через командную строку передать два слова и целое число N. | gas777 | Общие вопросы C/C++ | 5 | 23.06.2011 19:59 |
Передать методы класса из dll | alexprey | Общие вопросы Delphi | 3 | 11.11.2010 16:11 |
Не могу передать строку в функцию | Никки | Общие вопросы Delphi | 4 | 18.09.2010 21:22 |
Передать строки из dll в программу | 856100 | Общие вопросы Delphi | 6 | 03.08.2009 00:37 |
из .exe TBitMap передать в DLL(форма) | lexaltd | Мультимедиа в Delphi | 13 | 14.07.2009 17:47 |