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




Вниз

Размеры окна другого приложения... 


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.




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




Наверх





Память: 0.72 MB
Время: 0.018 c
14-32578          -=CrazyFish=-         2002-01-25 11:58  2002.03.11  
интересует ваше мнение...


3-32423           МАРАТ                 2002-02-12 15:51  2002.03.11  
Построить график по DBF


6-32531           Sour                  2001-12-22 19:59  2002.03.11  
Ошибка POP3 SMTP......


1-32514           AngeL B.              2002-02-25 13:28  2002.03.11  
Как узнать IP-адрес тонкого клиента


1-32459           b00ts0                2002-02-22 23:01  2002.03.11  
ламерский вопрос относительно чата для локальной сети