Перейти к содержанию
Fire Monkey от А до Я
  • 0

Запуск стороннего приложения со своими координатами.


Menkos1

Вопрос

Подскажите пожалуйста, как с помощью CreateProcess - запустить калькулятор с заданной позицией, к примеру: всегда по центру рабочего стола.

Использую FireMonkey, Berlin XE10.1

пустая форма, на ней наложил Button, и буттон запускает калькулятор, но требуются познания - чтобы запустить калькулятор с заданной нашей позицией экрана.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

CreateProcess предпоследний параметр lpStartupInfo, структура STARTUPINFO, в ней поля dwX и dwY. Ну и судя по описанию, для флага dwFlags нужно задать значение STARTF_USEPOSITION.

Ссылка на комментарий
  • 0
10 минут назад, Maximus сказал:

CreateProcess предпоследний параметр lpStartupInfo, структура STARTUPINFO, в ней поля dwX и dwY. Ну и судя по описанию, для флага dwFlags нужно задать значение STARTF_USEPOSITION.

Уже успел это протестировать, указал позицию - в итоге ничего не изменилось при запуске приложения.

Ссылка на комментарий
  • 0

вычитал в поисковике:

Цитата

тогда в общем случае так просто не получится. 1. dwX dwY - смещают только угол, размер изменяется 2. при флажке STARTF_USEPOSITION позиция будет меняться у окошек, у которых при создании, вместо начальных координат указаны CW_USEDEFAULT (в прицепе такое приложение, можешь с ним попробовать). 3. работает только на стадии начальной инициаллизации главного окна, те в принципе не будет работать у приложений, которые сначала запускают какое-нить маленькое окошко, которое в свою очередь создаёт главное. 3а. Многие приложения сохраняют последнюю позицию своих окошек, и восстанавливают при след. запуске.

 

Советуют пробовать MoveWindow - посмотрим что получиться.

Ссылка на комментарий
  • 1

Ну да, конкретно с калькулятором такой финт не прокатит, он явно запоминает свою позицию перед закрытием, а затем при запуске её восстановление происходит уже после применения заданных в CreateProcess параметров позиции. А вообще работает, например, если запустить своё же приложение, разумеется если в нём нет установки координат после запуска.

Можно и MoveWindow или SetWindowPos использовать после запуска, только тогда придётся получить хендл окна.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...