Форум: "Прочее";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизНа форме нужно открыть какую-либо программу Найти похожие ветки
← →
Игорь Н (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 вся ветка
Форум: "Прочее";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c