Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.11;
Скачать: CL | DM;

Вниз

Размеры окна другого приложения...   Найти похожие ветки 

 
BorisM   (2002-01-11 04:07) [0]

Господа, подскажите начинающему, как запустить другое приложение из своей программы, задав размеры и положение его окна. Ну или изменить размер и положение окна уже запущенного приложения.
Суть задачи - расположить свою программу "рядом" с другой программой, т.е. сделать что-то типа Tile Vertically из 2-х программ на весь экран.

Заранее спасибо.


 
Виктор Щербаков ©   (2002-01-11 10:08) [1]

Попробуй запустить его (чужое приложение) с помощью CreateProcess. В структуре STARTUPINFO есть члены, позволяющие задавать начальные размеры и положение главного окна запускаемого приложения.


 
BorisM   (2002-01-12 04:07) [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;


 
BorisM   (2002-01-13 02:24) [3]

Обнаружил, что код не работает под Windows2000 и Windows XP, но прекрасно работает под Windows 98.



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

Текущий архив: 2002.03.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-32485
Lokk
2002-02-20 18:48
2002.03.11
Подскажите как?


3-32408
Paxer
2002-02-12 14:40
2002.03.11
Переиндексация с помощью TADOQuery


3-32407
Mirovodin
2002-02-11 12:23
2002.03.11
Использование ADO


7-32589
GydruS
2001-12-06 12:29
2002.03.11
Здравствуйте, уважаемые!


14-32546
Igor_thief
2002-01-25 14:54
2002.03.11
Components