Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Вниз

Внешние приложения   Найти похожие ветки 

 
Vlad2   (2002-08-27 06:31) [0]

Здравствуйте !
Кто знает, как запустить внешнее приложение в дочернем окне главной формы delphi ? Например, в какой-либо TPanel или TForm ?


 
Suntechnic   (2002-08-27 06:40) [1]

Ещё разок и внятно... чтобы все поняли, что собственно говоря требуется.


 
Vlad2   (2002-08-27 06:54) [2]

1. главная форма main: TForm1.
2. panel := TPanel.Create(main)
3. panel.Parent := main;

Как визуализиравать другое приложение (appl.exe) в этой панели ?


 
MBo   (2002-08-27 06:58) [3]

h:=findwindow(Pchar("Notepad"),nil);
if h<>0 then
windows.setparent(h,panel1.handle);


 
Vlad2   (2002-08-27 07:21) [4]

to MBo
Что-то слаб я в winApi:
значение
h:=findwindow(Pchar("C:\WINNT\NOTEPAD.EXE"),nil);
нулевое.


 
MBo   (2002-08-27 07:32) [5]

findwindow находит имеющееся уже окно.
сначала запусти notepad, например, shellexecute или createprocess


 
Vlad2   (2002-08-27 07:48) [6]

to MBo
Не хочет открываться в дочернем окне. Я сделал так:

r: TCustomFileRun;
r := TCustomFileRun.Create(self);
r.FileName := "C:\WINNT\NOTEPAD.EXE";
r.ParentControl := TabSheet2;
r.Execute;

Открывается в своём окне, - игнорирует
r.ParentControl := TabSheet2;


 
MBo   (2002-08-27 07:52) [7]

>TCustomFileRun
Я не знаю, что это.

Уже указана последовательность действий - shellexecute findwindow windows.setparent


 
Vlad2   (2002-08-27 08:15) [8]

to Mbo
Выполнил:
shellexecute(TabSheet2.Handle, nil,
"C:\WINNT\NOTEPAD.EXE",
nil, nil, SW_SHOWNORMAL);

h:=findwindow(Pchar("C:\WINNT\NOTEPAD.EXE"),nil);

и всё равно h = 0. Appl.exe открывается в своём окне, игнорируя
TabSheet2.Handle.


 
MBo   (2002-08-27 08:24) [9]

бред какой-то.

shellexecute(0, nil,"C:\WINNT\NOTEPAD.EXE",nil, nil,SW_SHOWNORMAL);

далее
MBo © (27.08.02 06:58)


 
Vlad2   (2002-08-27 08:51) [10]

to MBo
Согласен, бред какой-то.
Но факт в том, что у меня после выполнения shellexecute(0, ...)
findwindow(Pchar("C:\WINNT\NOTEPAD.EXE"),nil);
не находит это окно.
Я понял так, что в shellexecute(HWND, ...)
можно передать "handle to parent window", но использование
в качестве этого параметра handle дочернего окна mainForm неверно.


 
MBo   (2002-08-27 08:55) [11]

нет слов.
внимательно перечитай MBo © (27.08.02 06:58)
и ИМЕННО так и сделай


 
Vlad2   (2002-08-27 09:36) [12]

to MBo
Да, всё верно (ддубина), findwindow просит the window"s title, - заголовок окна, а я что-то зациклился.
А нельзя ли, всё таки, обойтись без связки
ShellExecute & FindWindow ?, сразу запустив appl.exe в каком либо дочернем окне ?



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

Форум: "WinAPI";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-31788
vixic
2002-10-02 08:15
2002.10.10
левая форма в моей форме!


1-31829
pvasya
2002-09-28 09:53
2002.10.10
EOleException


4-32061
Roxtady
2002-08-22 16:35
2002.10.10
Клик мышкой


14-31972
Карлсон
2002-09-13 20:55
2002.10.10
Какую веб камеру купить?


4-32068
Wild Sam
2002-08-23 12:28
2002.10.10
Как правильно сделать свою форму Parent ом для другого приложе-





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский