Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
1-32472
Ilya
2002-02-22 16:40
2002.03.11
Массив компонентов.


1-32486
greenrul
2002-02-23 20:24
2002.03.11
Перехват нажатий клавиш


4-32604
BorisM
2002-01-11 04:07
2002.03.11
Размеры окна другого приложения...


3-32398
torero
2002-02-09 16:59
2002.03.11
При вставке в таблицу foxpro *.dbf строки через BDE (sql запрос из TQuery)вместо русских букв одни ######.


1-32493
Дмитрий Катаев
2002-02-25 00:21
2002.03.11
Опитмизация в Deplhi




   Наверх