Вверх ↑
Ответов: 793
Рейтинг: 168
#1: 2021-11-11 23:53:06 ЛС | профиль | цитата
egorhay писал(а):
Пожалуйста можете еще нормально объяснить принцип работы UDP. Раньше работал только с TCP. Ищу информацию. там только понятия типа в чем разница.

https://ru.wikipedia.org/wiki/UDP

А по поводу
egorhay писал(а):
чтобы окно было поверх всех, и одновременно чтобы курсор был под ним) Либо окно пропускала через себя клик.

Вот пример как можно сделать окно ffplay "прозрачным" для мыши:
Add(MainForm,2953706,126,112)
{
Width=438
Height=126
Caption="Прозрачная форма, не реагирующая на мышь"
DragForm=0
Point(Handle)
Point(PHandle)
link(onCreate,6616881:doEvent1,[])
}
Add(FindWindow,15114781,231,126)
{
ClassName="SDL_app"
SkipParam=1
link(onFind,6131835:doData,[])
}
Add(WinTools,4866552,336,98)
{
Point(doAlphaBlendValue)
Point(doEnable)
link(Handle,12106520:Var3,[(342,89)(328,89)(328,166)])
}
Add(DoData,6131835,280,126)
{
Data=Integer(150)
link(onEventData,4866552:doAlphaBlendValue,[])
}
Add(InlineCode,16601478,231,182)
{
WorkPoints=#11:doEX_Transp|
DataPoints=#6:Handle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|22: Handle : THI_Event;|55: Procedure doEX_Transp (var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|65:Procedure THiAsmClass.doEX_Transp (var _Data:TData; Index:word);|5:Begin|136: SetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE, GetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE) or WS_EX_TRANSPARENT);|4:end;|0:|4:end.|
link(Handle,12106520:Var2,[])
}
Add(Hub,6616881,189,126)
{
InCount=2
link(onEvent1,15114781:doFind,[])
link(onEvent2,16601478:doEX_Transp,[(221,139)(221,188)])
}
Add(GetDataEx,12106520,231,161)
{
link(Data,15114781:Handle,[])
}
Add(Button,10470304,126,161)
{
Left=20
Top=15
Width=110
Caption="Прозрачность"
link(onClick,6616881:doEvent2,[(165,167)(165,139)])
}


Запусти ffplay и схему и попробуй пощёлкать мышью...

Для тестов
Add(MainForm,6168681,357,98)
{
Width=620
Height=429
Caption="Прозрачная форма, не реагирующая на мышь"
DragForm=0
Point(Handle)
Point(PHandle)
link(onCreate,6616881:doEvent1,[])
}
Add(WinTools,4866552,518,91)
{
Point(doAlphaBlendValue)
Point(doEnable)
link(Handle,11362747:Var1,[(524,82)(447,82)])
}
Add(DoData,6131835,462,119)
{
Data=Integer(150)
link(onEventData,4866552:doAlphaBlendValue,[])
}
Add(InlineCode,16601478,441,175)
{
WorkPoints=#11:doEX_Transp|
DataPoints=#6:Handle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|22: Handle : THI_Event;|55: Procedure doEX_Transp (var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|65:Procedure THiAsmClass.doEX_Transp (var _Data:TData; Index:word);|5:Begin|136: SetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE, GetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE) or WS_EX_TRANSPARENT);|4:end;|0:|4:end.|
link(Handle,11362747:Var2,[])
}
Add(Hub,6616881,406,112)
{
OutCount=3
link(onEvent1,4866552:doPopup,[(431,118)(431,104)])
link(onEvent2,6131835:doData,[])
link(onEvent3,16601478:doEX_Transp,[(431,132)(431,181)])
}
Add(GetDataEx,11362747,441,137)
{
Angle=3
link(Data,6168681:Handle,[(363,142)])
}

Закрывать через диспечер
карма: 16

0
Редактировалось 1 раз(а), последний 2021-11-12 11:33:04