powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Media Player неожиданно создает окно - паразит
3 сообщений из 3, страница 1 из 1
Media Player неожиданно создает окно - паразит
    #39632140
Alex_2016
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос в следующем, при запуске приложения и установке показа видео на весь экран после проигрываний нескольких видео программа выходит из полноэкранного режима и неожиданно создается окно паразит, которое закрывает основное окно.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, MPlayer, PicShow;

type
  TForm1 = class(TForm)
    PicShow: TPicShow;
    MediaPlayer1: TMediaPlayer;
    procedure MediaPlayer1Notify(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure SetFullScreen(Active: Boolean);
    procedure PicShowClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SetFullScreen(Active: Boolean);
begin
  if Active and (PicShow.Align = alClient) then
  begin
    PicShow.SetFocus;
    PicShow.Align := alNone;
    PicShow.BgMode := bmNone;
    PicShow.FrameWidth := 0;
    Windows.SetParent(PicShow.Handle, 0);
    PicShow.SetBounds(0, 0, Screen.Width, Screen.Height);
    SetWindowPos(PicShow.Handle, HWND_TOPMOST, 0, 0, Screen.Width, Screen.Height, SWP_SHOWWINDOW);
    ShowCursor(False);
  end
  else if not Active and (PicShow.Align = alNone) then
  begin
    Windows.SetParent(PicShow.Handle, Self.Handle);
    PicShow.Align := alClient;
    ShowCursor(True);
  end;
end;

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
if MediaPlayer1.Position=MediaPlayer1.Length then ShowMessage('Finish');
end;

procedure TForm1.FormActivate(Sender: TObject);
label 1;
begin

1:

Application.ProcessMessages;

MediaPlayer1.FileName:=ExtractFilePath(Application.ExeName)+'main22.mov';
MediaPlayer1.Display := PicShow;
MediaPlayer1.Open;
MediaPlayer1.Play;

MediaPlayer1.FileName:=ExtractFilePath(Application.ExeName)+'main22.mov';
MediaPlayer1.Display := PicShow;
MediaPlayer1.Open;
MediaPlayer1.Play;

MediaPlayer1.FileName:=ExtractFilePath(Application.ExeName)+'main22.mov';
MediaPlayer1.Display := PicShow;
MediaPlayer1.Open;
MediaPlayer1.Play;

MediaPlayer1.FileName:=ExtractFilePath(Application.ExeName)+'main22.mov';
MediaPlayer1.Display := PicShow;
MediaPlayer1.Open;
MediaPlayer1.Play;

goto 1

end;

procedure TForm1.PicShowClick(Sender: TObject);
begin
SetFullScreen(PicShow.Align <> alNone);
end;

end.

...
Рейтинг: 0 / 0
Media Player неожиданно создает окно - паразит
    #39632333
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный код приводит к странным результатам.
...
Рейтинг: 0 / 0
Media Player неожиданно создает окно - паразит
    #39634019
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_2016,

ну и в чём вопрос?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Media Player неожиданно создает окно - паразит
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]