- 0
windows Есть ли аналог TCreateParams ?
-
Похожий контент
-
- 2 ответа
- 522 просмотра
-
- 2 ответа
- 889 просмотров
-
- 5 ответов
- 1 731 просмотр
-
Как сделать управление в TWebBrowser под Win как на мобильных платформах
От Yarpda,
- twebbrowser
- windows
- (и ещё 1 )
- 15 ответов
- 1 374 просмотра
-
- 0 ответов
- 930 просмотров
-
- 40 ответов
- 2 500 просмотров
-
- 10 ответов
- 1 763 просмотра
-
- 1 ответ
- 1 509 просмотров
-
- 0 ответов
- 1 322 просмотра
-
- 0 ответов
- 1 446 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Вадим Смоленский
В своем VCL-проекте я использовал оригинальный способ застраховаться от повторного запуска приложения. Обычно это делают через Mutex. Но умные люди на experts-exchange.com много лет назад посоветовали мне следующее:
// в главном окне: protected procedure CreateParams(var Params: TCreateParams); override; procedure TMyApp.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.WinClassName:='MyAPP String ID'; end; // В файле .dpr: var AWnd, A1Wnd: HWND; AWnd:=FindWindow('MyApp String ID',nil); if IsWindow(AWnd) then begin A1Wnd := GetWindow(AWnd, GW_OWNER); if IsWindow(A1Wnd) then AWnd := A1Wnd; ShowWindow(AWnd, SW_RESTORE); SetForegroundWindow(AWnd); end else begin Application.Initialize; ....... end
Способ хорош тем, что он не просто блокирует повторный запуск, а выводит уже запущенное приложение на передний план, тычет юзера в него носом. Но при переходе на FireMonkey возникла закавыка: компилятору не нравится TCreateParams. Говорит: undeclared identifier. Чем бы его заменить?
Ссылка на комментарий
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.