• 0
Winexcel

Несколько окон приложения в панели задач[2]

Вопросы

Здравствуйте, хотелось бы задать подобный вопрос пользователя AlexG.

 

Собственно в чем суть, сделал все также как описано в теме, вариант рабочий, но рабочий до первого сворачивания главного окна, после того, как сворачивается главное окно и после разворачивается через панель задач то появляется дубль этого окна в панели задач. Поясню на скриншотах:

Вот так выглядит на панели задач иконка после запуска приложения:

1.png.7bda239d59b8f2282e7c550dc28c6add.png

Вот так она выглядит когда мы свернули приложение:

2.png.634aacd2561b78e0f6c5fa9a1537f82d.png

И вот так она выглядит когда мы делаем клик по иконки на панели задач чтобы развернуть приложение:

 

3.png.299958b339649168724f4b818bd63fdc.png

 

Знает кто-нибудь как решить?

Код Project.drp:

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  ShowWindow(FMX.Platform.Win.ApplicationHWND, SW_HIDE);
  Application.Run;
end.

Код формы:

unit Unit2;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls, Unit3, Winapi.Windows, Winapi.Messages, FMX.Platform.Win, ComObj;

type
  TForm2 = class(TForm)
    procedure CreateHandle; override;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.fmx}

procedure TForm2.CreateHandle;
begin
 inherited CreateHandle;
  SetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE,
    GetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE) or WS_EX_APPWINDOW);
end;


end.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 ответа на этот вопрос

  • 0

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

Это стандартное поведение ОС. Вам надо запретить запуск второй копии приложения просто!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 06.02.2018 в 14:23, Winexcel сказал:

Здравствуйте, хотелось бы задать подобный вопрос пользователя AlexG.

На форуме работает упоминание @AlexG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 07.02.2018 в 00:13, wamaco сказал:

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

Это стандартное поведение ОС. Вам надо запретить запуск второй копии приложения просто!

Можете дать ссылку на документацию msdn где такое написано? Первый раз слышу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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