Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
как в MDI окнах запустить чужие приложени
 
тоесть, есть код, который при нажатии появляется дочерное окно, как сделать, что бы вместо этого дочерного окна запустить форму совершенно независимой проги ?


на асм-форумах спрошивал, но не кто так и не дал нормального ответа...
 
судя по всему ShellExecute() может спасти отца русской демократии.
а может и не спасти, ибо твой вопрос не ясен ни фига.
 
нуу.....  говоря по русски, как простую прогу запустить как дочерное ?
 
Цитата
Darvin пишет:
нуу.....  говоря по русски, как простую прогу запустить как дочерное ?
Тебе нужно, чтобы запускаемя прога выставляла твое окно как parent-window. По статистике, 99% прог в CreateWindow выставляют NULL (хотя по идее, должно быть GetDesktopWindow(), которая, кстати, тоже выдает NULL).
Запускай прогу с флагом CREATE_SUSPENDED и устанавливай hook на CreateWindow() через таблицу импорта.
Отпускай процесс (ResumeThread()), далее перехватывай в этом процессе CreateWindow(), и, если она в качестве hWndParent передает NULL, меняй его на твой HWND.
 
[TSS], посиба конечно за помощь...
у тя  случайно нету ни каких наглядных примеров...
а то, я по асме пока ещё новичок. Всё конечно тут я понял.., но реализовать не смогу...

если не трудно, скин плиз какой-нить исходник.. хоть с частю того, что ты рассказывал...

посиба, заранее..!
 
2Darvin: ты сначала на Си напиши, а потом за асм берись. Не для этого ассемблер используют.
Примеров нет, а программить их времени нема.

Самый простой путь получения асма -- Visual C++, компилировать с ключем /FAs -- он генерит .asm из .cpp (cl /FAs someprog.cpp)

P.S. Кстати, ты случаем не эмулятор explorer-а ваяешь ?
 
ок, бу иметь в виду...
асма - это сила :}

p.s. не, не для explorer'a.
Страницы: 1
Читают тему