Вверх ↑
Этот топик читают: Гость
Ответов: 107
Рейтинг: 0
#1: 2020-07-04 21:33:57 ЛС | профиль | цитата
Ребята задаю очередной наверно глупый вопрос, но возможно ли вывести картинку с плеера на два окна одновременно используя handle?

Просто появилась идея делать полноценные скриншоты с видео используя скрытую дочернюю форму, что бы скрин делался не с окна проигрывания видео, а именно полноценный со скрытой дочерней формы. (использую для этого MediaPlayerEx)

Редактировалось 2 раз(а), последний 2020-07-04 21:37:54
карма: 0

0
Ответов: 1343
Рейтинг: 31
#2: 2020-07-04 23:45:37 ЛС | профиль | цитата
какой то бред или не бред...

Add(MainForm,2953706,168,119)
{
}
Add(PaintBox,16535791,406,70)
{
Left=165
Top=20
Width=155
Height=145
Point(Handle)
}
Add(Img_Copy,5889964,357,133)
{
X=0
Y=0
Width=140
Height=135
DrawSource=1
link(onCopy,7710800:doDraw,[])
}
Add(Img_Bmp,7710800,413,133)
{
DrawSource=1
link(Bitmap,16535791:Handle,[])
}
Add(ChildForm,2455751,308,133)
{
link(onEvent1,5889964:doCopy,[])
}
BEGIN_SDK
Add(EditMulti,4307112,21,21)
{
EventCount=1
Width=349
Height=221
}
Add(MainForm,3424068,84,119)
{
Left=35
Top=105
AlphaBlendValue=0
link(onCreate,6965650:doEvent1,[])
}
Add(MediaPlayerEx,11928784,203,133)
{
Filename="E:\\Downloads\\Счастливы вместе 1-6 Сезоны\\Спецвыпуск. Все дороги ведут на крышу.mkv"
Scale=2
Point(onPosition)
link(Handle,11794172:Var2,[])
link(onPosition,1991319:doData,[])
}
Add(PaintBox,5611813,203,56)
{
Left=20
Top=20
Width=140
Height=135
Point(Handle)
Point(Width)
Point(Height)
}
Add(Hub,6965650,161,133)
{
link(onEvent1,11928784:doOpen,[])
link(onEvent2,11928784:doPlay,[])
}
Add(DoData,1991319,252,133)
{
link(onEventData,4307112:onEvent1,[(327,139)(327,27)])
link(Data,11794172:Var3,[(258,110)])
}
Add(GetDataEx,11794172,210,105)
{
link(Data,5611813:Handle,[])
}
END_SDK

--- Добавлено в 2020-07-04 23:53:58

если у окна именно Visible False то хз как

Редактировалось 3 раз(а), последний 2020-07-04 23:53:58
карма: 2

0
Ответов: 5227
Рейтинг: 587
#3: 2020-07-05 05:25:31 ЛС | профиль | цитата
germes5558, окно может быть не скрыто но выведено за пределы видимости экрана

Add(Button,15495593,210,321)
{
Left=430
Top=335
Width=140
Height=35
Caption="PrintWindow"
link(onClick,9606902:doScr,[])
}
Add(InlineCode,9606902,371,321)
{
WorkPoints=#5:doScr|
EventPoints=#5:onScr|
DataPoints=#7:in_hwnd|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|32:uses Windows, kol, Share, Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: in_hwnd: THI_Event;|22: onScr: THI_Event;|47: procedure doScr(var dt: TData; idx: word);|5: end;|1: |95: function PrintWindow(HWND:HWND;hdcBlt:HDC;nFlags:DWORD):BOOL; stdcall; external 'user32.dll';|2: |14:implementation|0:|28:procedure THiAsmClass.doScr;|3:var|15: rcSrc: TRect;|16: hSrcWnd: HWND;|16: tBmp: PBitmap;|5:begin|37: hSrcWnd := ToIntegerEvent(in_hwnd);|32: GetWindowRect(hSrcWnd, rcSrc);|72: tbmp := NewBitmap(rcSrc.Right - rcSrc.Left, rcSrc.Bottom - rcSrc.Top);|49: PrintWindow(hSrcWnd, tbmp.Canvas.Handle, 0); |28: _hi_onEvent(onScr, tbmp); |12: tbmp.Free;|4:end;|0:|4:end.|
}
Add(ChildForm,13789484,553,132)
{
}
BEGIN_SDK
Add(EditMulti,8916653,21,21)
{
WorkCount=1
link(doWork1,1836660:doEvent1,[(42,27)(42,76)])
}
Add(MainForm,7545100,203,133)
{
Left=35
Top=105
Width=547
Height=316
Color=0
Visible=1
Caption="Снимок окна"
Point(doVisible)
}
Add(Image,12620809,203,70)
{
Width=529
Height=271
Align=5
Color=0
}
Add(DoData,14735024,140,161)
{
Data=Integer(1)
link(onEventData,7545100:doVisible,[])
}
Add(Hub,1836660,63,70)
{
link(onEvent1,12620809:doLoad,[])
link(onEvent2,14735024:doData,[(115,83)(115,167)])
}
END_SDK
Add(MainForm,2953706,203,21)
{
Width=609
Height=430
}

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)