Сейчас на форуме: jinoweb (+6 невидимых)

 eXeL@B —› Программирование —› Запуск новых окон из главного окна.
Посл.ответ Сообщение

Ранг: 3.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 12 августа 2018 23:14
· Личное сообщение · #1

Привет.
Подскажите как добавить код вызова, например в блокнот notepad.exe
в меню файл>открыть>.... новую строку - с вызовом отдельного приложения calc.exe
то есть: хочу из одного окна, открывать отдельные приложения.
Переименовать их в dll и запускать из папки чтоб все думали, что это - одно целое приложение.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 12 августа 2018 23:26
· Личное сообщение · #2

так а строка в меню, это же не функция.
и просто расписать на асме саму функу маловато, а если в таблице обработчика событий нет места для нового айди меню, то только гробить патчами..

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 13 августа 2018 06:28 · Поправил: f13nd
· Личное сообщение · #3

1. инжектишь в процесс свой код
2. запускаешь в нем тред
3. GetMenu(хОкноНотпада)
4. InsertMenuItemW(хМеню,...)
5. GetWindowLongW(хОкноНотпада,GWL_WNDPROC,...)
6. SetWindowLongW(хОкноНотпада,GWL_WNDPROC,...)
7. Ну и в засубклассенном таким способом обработчике окна ловишь WM_COMMAND и обрабатываешь клик по своему пункту меню. И главное не забыть отдать управление оригинальному обработчику окна.

Bronco пишет:
в таблице обработчика событий нет места для нового айди меню

Это когда 65535 айди уже занято?

-----
2 оттенка серого





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 13 августа 2018 12:11
· Личное сообщение · #4

f13nd пишет:
Это когда 65535 айди уже занято?

это типо стёб?
пару раз через этот задрот прошёл, и ни разу не считал.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 13 августа 2018 12:17 · Поправил: f13nd
· Личное сообщение · #5

Bronco пишет:
пару раз через этот задрот прошёл, и ни разу не считал.

Эта ерунда видимо была как-то связана с qt/mfc/atl. На голом апи ни про какие таблицы обработчиков переживать не надо, а айди пункта меню 16ю битами кодируется. Любое окно сабклассится, любое можно дополнить каким угодно функционалом.

-----
2 оттенка серого





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 13 августа 2018 15:47 · Поправил: Bronco
· Личное сообщение · #6

f13nd пишет:
Любое окно сабклассится, любое можно дополнить каким угодно функционалом.

если свой код независим, то каким способом это делать, проблем не вижу.
если зависим от тех же систем апи, то это ебала на асме. пару раз побаловаться можно, но ведь проще своё и отдельно.
У ТС запросы пока только на ШелЭксекуте. но для этого кажется и так приблуд хватает.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 13 августа 2018 16:43
· Личное сообщение · #7

Bronco пишет:
если зависим от тех же систем апи, то это ебала на асме.

Есть по меньшей мере три способа длл загрузить в чужой процесс, базонезависимый код писать необязательно.

-----
2 оттенка серого





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 13 августа 2018 17:08
· Личное сообщение · #8

f13nd пишет:
три способа длл загрузить в чужой процесс

хз я может шапку не так прочитал
у ТС задача - вызов отдельного приложения calc.exe .
инжект это не прямая наводка, это уже баллистика средней дальности.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 13 августа 2018 17:10 · Поправил: f13nd
· Личное сообщение · #9

Bronco пишет:
у ТС задача - вызов отдельного приложения calc.exe

Добавив его в меню "файл" notepad.exe, не? Или мне везде инжект видится.

-----
2 оттенка серого


| Сообщение посчитали полезным: Bronco


Ранг: 338.5 (мудрец), 349thx
Активность: 2.112.42
Статус: Участник

Создано: 18 августа 2018 00:31
· Личное сообщение · #10

dyjikov

Описание в #1 столь безграмотно..

Приложение запускает исполняющая среда, конкретно потоки. Такой запуск не зависит в общем от наличия иных окон в среде.

Вы хотите изменить(пропатчить) исходное апп чтобы в меню появился ваш пункт ?

Тогда в чём именно проблема ?

Как прицепить ваш модуль, собранный на пхп басике или чём то есчо к приложению ?

Тогда нужно добавить модуль в импорт(он должен быть длл) или использовать загрузчик и пе редактор.

Может нужно обьеденить два экзе в один, тогда для этого есть софт, он используется во вредоносных целях для склейки файлов, обычно такое используется школьниками. Походу это ваш вариант.

-----
vx



 eXeL@B —› Программирование —› Запуск новых окон из главного окна.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати