Сейчас на форуме: jinoweb (+6 невидимых) |
eXeL@B —› Программирование —› Запуск новых окон из главного окна. |
Посл.ответ | Сообщение |
|
Создано: 12 августа 2018 23:14 · Личное сообщение · #1 Привет. Подскажите как добавить код вызова, например в блокнот notepad.exe в меню файл>открыть>.... новую строку - с вызовом отдельного приложения calc.exe то есть: хочу из одного окна, открывать отдельные приложения. Переименовать их в dll и запускать из папки чтоб все думали, что это - одно целое приложение. |
|
Создано: 12 августа 2018 23:26 · Личное сообщение · #2 |
|
Создано: 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 оттенка серого |
|
Создано: 13 августа 2018 12:11 · Личное сообщение · #4 |
|
Создано: 13 августа 2018 12:17 · Поправил: f13nd · Личное сообщение · #5 Bronco пишет: пару раз через этот задрот прошёл, и ни разу не считал. Эта ерунда видимо была как-то связана с qt/mfc/atl. На голом апи ни про какие таблицы обработчиков переживать не надо, а айди пункта меню 16ю битами кодируется. Любое окно сабклассится, любое можно дополнить каким угодно функционалом. ----- 2 оттенка серого |
|
Создано: 13 августа 2018 15:47 · Поправил: Bronco · Личное сообщение · #6 f13nd пишет: Любое окно сабклассится, любое можно дополнить каким угодно функционалом. если свой код независим, то каким способом это делать, проблем не вижу. если зависим от тех же систем апи, то это ебала на асме. пару раз побаловаться можно, но ведь проще своё и отдельно. У ТС запросы пока только на ШелЭксекуте. но для этого кажется и так приблуд хватает. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 13 августа 2018 16:43 · Личное сообщение · #7 |
|
Создано: 13 августа 2018 17:08 · Личное сообщение · #8 |
|
Создано: 13 августа 2018 17:10 · Поправил: f13nd · Личное сообщение · #9 Bronco пишет: у ТС задача - вызов отдельного приложения calc.exe Добавив его в меню "файл" notepad.exe, не? Или мне везде инжект видится. ----- 2 оттенка серого | Сообщение посчитали полезным: Bronco |
|
Создано: 18 августа 2018 00:31 · Личное сообщение · #10 dyjikov Описание в #1 столь безграмотно.. Приложение запускает исполняющая среда, конкретно потоки. Такой запуск не зависит в общем от наличия иных окон в среде. Вы хотите изменить(пропатчить) исходное апп чтобы в меню появился ваш пункт ? Тогда в чём именно проблема ? Как прицепить ваш модуль, собранный на Тогда нужно добавить модуль в импорт(он должен быть длл) или использовать загрузчик и пе редактор. Может нужно обьеденить два экзе в один, тогда для этого есть софт, он используется во вредоносных целях для склейки файлов, обычно такое используется школьниками. Походу это ваш вариант. ----- vx |
eXeL@B —› Программирование —› Запуск новых окон из главного окна. |