![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как пользоваться функцией GetWindowplacement?
Василий © (2006-07-29 07:29:00)Доброго времени суток, Мастера.
Есть такой вопрос.
Мне нужно запустить внешнюю программу из моей. Скажем "Nc.exe". Но мне ее надо запустить в определенном месте. Нашел хелпе что для этого надо пользоваться функцией Getwindowplacement. Но инфо очень мало.
Покажите пожалуйста, если не трудно, код программки которая запустила бы Nc.exe в координатах его верхнего левого края окна в 100,100 на экране.
Заранее благодарен.
Юрий Зотов (2006-07-30 14:02:00) [1]procedure TForm1.FormDblClick(Sender: TObject);
var
H: Cardinal;
R: TRect;
begin
Caption := '';
with TOpenDialog.Create(nil) do
try
if Execute and (WinExec(PChar(FileName), SW_SHOWDEFAULT) > 31) then
begin
Sleep(100);
H := FindWindow('ConsoleWindowClass', PChar(FileName));
if (H <> 0) and GetWindowRect(H, R) then
begin
OffsetRect(R, 100 - R.Left, 100 - R.Top);
if SetWindowPos(H, 0, R.Left, R.Top, R.Right - R.Left, R.Bottom - Top, 0)
and GetWindowRect(H, R) then
Caption := Format('%s: Left = %d, Top = %d, Width = %d, Height = %d',
[FileName, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top])
end
end
finally
Free
end
end;
Разберите этот пример, пользуясь советом [3] для изучения использованных в нем функций WinAPI - все станет понятно.
PSPF2003 (2006-07-30 12:54:00) [2]Пуск -> Все программы -> Borland Delphi 7 -> Help -> MS SDK Help Files -> Win32 SDK Reference
Там вся информация расписана самым подробным образом.
Василий (2006-07-30 12:49:00) [3]PSPF2003 © (29.07.06 07:49) [1]
MS SDK
Прошу прощения, но не понял.
Может быть немного по подробнее.
PSPF2003 (2006-07-29 07:49:00) [4]MS SDK