Вниз
Скачать: CL | DM;

На форме нужно открыть какую-либо программу   Найти похожие ветки 

← →
Игорь Н   (2006-04-27 06:25) [0]

Привет всем.
В очередной раз спрашиваю, люди помогите, кто знает.
Ситуация такова, в форме нужно открыть какую-либо программу. Все вроде бы нормально они открываются, но не все. Программы, написанные на Delphi, открываются на форме только в свернутом виде иначе болтаются отдельно от формы пока не свернешь. Единственная возможность это поместить в форму вместе с программой рабочий стол, тогда все нормально, но это меня не устраивает. Подскажите, что нужно делать в этой ситуации.
(у программы, которую нужно открыть на форме, есть только исполняемый файл, файлов проекта нет)

function EnumWindowsProc(h: hwnd; lparam:Integer): BOOL; stdcall;
begin
h:=FindWindow(nil,"Ttm5");
if IsWindowVisible(h) then
 SetParent(h,Form1.Handle);
 Result:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
WinExec(PChar("Ttm5.exe"),SW_ShowNormal);
EnumWindows(@EnumWindowsProc, 0);
end;


← →
API ©   (2006-04-27 08:27) [1]

Вы бы поменьше спрашивали, а искали бы ответ сами. Экземпляр TApplication имеет свое собственное скрытое окно (TApplication.Handle), т.е., главная форма проекта (с ее TForm.Handle) не является, на самом деле, основным окном приложения. Из Вашего изложения я как-то с трудом могу понять, зачем Вам нужно такое загадочное владение чужими окнами (программа-властелин-тиран? :), поэтому могу лишь посоветовать, учитывая наличие скрытого окна, искать и использовать именно то окно, которое Вам нужно в данный момент для решения данной задачи.

Вообще же, для таких задач есть OLE-контейнеры и соответственно написанные приложения.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.043 c
1-1144913139
pvm
2006-04-13 11:25
2006.05.21
Экспорт из DLL


2-1146809848
Mahab
2006-05-05 10:17
2006.05.21
DVD-RW


2-1146549580
wirg
2006-05-02 09:59
2006.05.21
Подскажите в чём ошибка


2-1146262980
kimona
2006-04-29 02:23
2006.05.21
ping pong


1-1144745826
MiHoY
2006-04-11 12:57
2006.05.21
поиск дочернего окна




   Наверх