![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размеры окна другого приложения... [D5, Win95/98, WinME, NT4, Win2k]
BorisM © (2002-01-11 04:07:00)Господа, подскажите начинающему, как запустить другое приложение из своей программы, задав размеры и положение его окна. Ну или изменить размер и положение окна уже запущенного приложения.
Суть задачи - расположить свою программу "рядом" с другой программой, т.е. сделать что-то типа Tile Vertically из 2-х программ на весь экран.
Заранее спасибо.
BorisM (2002-01-13 02:24:00) [1]Обнаружил, что код не работает под Windows2000 и Windows XP, но прекрасно работает под Windows 98.
BorisM (2002-01-12 04:07:00) [2]Спасибо, Виктор. Действительно, по описанию CreateProcess как раз то что нужно. Нашел в Интернете 2 примера. Вроде бы все делаю так же как в них, а не работает. Открывает Notepad в позиции по умолчанию и с размером окна тоже по умолчанию. Может кто заметит в чем моя ошибка. (D5 / W2K)
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateProcessSimple( "notepad.exe" );
end;
Function CreateProcessSimple(sExecutableFilePath : string):string;
var
pi: TProcessInformation;
si: TStartupInfo;
begin
ZeroMemory( @si, sizeof(TStartupInfo));
ZeroMemory( @pi, sizeof(TProcessInformation));
with si do
begin
cb := sizeof( si );
lpReserved := nil;
lpDesktop := nil;
lpTitle := nil;
dwX := 0;
dwY := 0;
dwXSize := 300;
dwYSize := 300;
dwXCountChars := 0;
dwYCountChars := 0;
dwFillAttribute := 0;
dwFlags := STARTF_USESIZE or STARTF_USEPOSITION;
wShowWindow := SW_SHOWDEFAULT;
cbReserved2 := 0;
lpReserved2 := nil;
hStdInput := 0;
hStdOutput := 0;
hStdError := 0;
end;
CreateProcess(Nil,
PChar( sExecutableFilePath ),
Nil,
Nil,
False,
0,
Nil,
Nil,
si,
pi );
// CloseHandle( pi.hThread );
// CloseHandle( pi.hProcess );
end;
Виктор Щербаков (2002-01-11 10:08:00) [3]Попробуй запустить его (чужое приложение) с помощью CreateProcess. В структуре STARTUPINFO есть члены, позволяющие задавать начальные размеры и положение главного окна запускаемого приложения.