Вверх ↑
Этот топик читают: Гость
Ответов: 33
Рейтинг: 2
#1: 2017-04-24 10:30:56 ЛС | профиль | цитата
Как можно определить в программе на хиасм Handle Рабочего стола ?

Редактировалось 1 раз(а), последний 2017-04-24 10:31:15
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8888
Рейтинг: 823
#2: 2017-04-24 12:04:34 ЛС | профиль | цитата
Dimka, "0"
Схемка


Add(MainForm,2953706,217,70)
{
Position=1
}
Add(Memory,11322132,266,70)
{
Default=Integer(0)
}
Add(Button,834327,217,126)
{
Left=160
Top=20
link(onClick,14960301:doDraw,[])
}
Add(Img_Gradient,14960301,266,126)
{
Point1=6553700
Point2=6553800
Point2AsOffset=0
DrawSource=1
Size=3
PatternStyle=3
Style=3
StartColor=255
EndColor=16711680
link(Bitmap,11322132:Value,[])
}

карма: 19

0
Ответов: 33
Рейтинг: 2
#3: 2017-04-24 14:13:32 ЛС | профиль | цитата
Леонид, ноль похоже не то, когда над раб столом мышка то ид под ней не ноль ...

Add(MainForm,13565185,217,98)
{
Position=1
}
Add(Memory,11322132,266,98)
{
Default=Integer(0)
}
Add(Button,834327,217,154)
{
Left=160
Top=20
link(onClick,14960301:doDraw,[])
}
Add(Img_Gradient,14960301,266,154)
{
Point1=6553700
Point2=6553800
Point2AsOffset=0
DrawSource=1
Size=3
StartColor=255
EndColor=16711680
link(Bitmap,11322132:Value,[])
}
Add(GMouseHook,336280,280,259)
{
Point(Handle)
Point(onMouseUp)
Point(onMouseDown)
Point(onMouseWhell)
link(onMouseMove,11947358:doText,[])
}
Add(Label,11947358,399,259)
{
Left=20
Top=115
Width=4
Height=4
Font=[MS Sans Serif,12,1,0,1]
Caption="Handle"
link(Text,336280:Handle,[(405,247)(353,247)(353,303)(300,303)])
}

в этой схемке у меня элемент GMouseHook если что..

Редактировалось 3 раз(а), последний 2017-04-24 14:16:10
карма: 0

0
Ответов: 8888
Рейтинг: 823
#4: 2017-04-24 15:08:04 ЛС | профиль | цитата
Dimka, если не рисовать, то вот это спасёт:
Окно под мышкой


Add(MainForm,5648784,154,105)
{
Visible=1
Point(onClose)
link(onCreate,14340948:doStartHotKey,[])
}
Add(WinInfo,7049642,273,189)
{
Point(Left)
Point(Top)
Point(Width)
Point(Height)
Point(LanguageName)
Point(ThreadID)
Point(ProcessID)
link(onWinInfo,10535782:doEvent1,[])
link(Handle,9785432:Var2,[])
}
Add(BaloonToolTips,10234504,413,238)
{
Title="WinInfo"
Icon=1
Mode=1
link(Handle,9184448:Value,[(419,219)(398,219)])
link(Point,10162127:Point,[])
}
Add(PointXY,10162127,427,182)
{
link(X,1002856:MouseX,[])
link(Y,1002856:MouseY,[])
}
Add(GHotKey,14340948,196,119)
{
@Hint=#22:Exit - <Ctrl><Alt><F4>|
Alt=1
Ctrl=1
Key=115
link(onEventHotKey,5648784:doClose,[(239,125)(239,155)(142,155)(142,132)])
AddHint(-8,-21,116,13,@Hint)
}
Add(Hub,10535782,350,189)
{
link(onEvent1,15903031:doString,[(378,195)(378,227)(261,227)(261,244)])
link(onEvent2,10234504:doShow,[(372,202)(372,258)])
}
Add(FormatStr,15903031,273,238)
{
DataCount=12
Mask="ClassName: %1\r\nCaption: %2\r\nLeft: %3\r\nTop: %4\r\nWidth: %5\r\nHeight: %6\r\n\r\nLanguageName: %7\r\nThreadID: %8\r\nProcessID: %9\r\nHandle: %10\r\nParentHandle: %11"
link(onFString,10234504:doCreate,[])
link(Str1,7049642:ClassName,[])
link(Str2,7049642:Caption,[])
link(Str3,7049642:Left,[])
link(Str4,7049642:Top,[])
link(Str5,7049642:Width,[])
link(Str6,7049642:Height,[])
link(Str7,7049642:LanguageName,[])
link(Str8,7049642:ThreadID,[])
link(Str9,7049642:ProcessID,[])
link(Str10,11743032:Var2,[])
}
Add(Memory,9184448,392,182)
{
Default=Integer(0)
}
Add(Hub,15708578,238,182)
{
link(onEvent1,10234504:doDestroy,[(384,188)(384,251)])
link(onEvent2,7049642:doWinInfo,[])
}
Add(MouseEvent,1002856,427,126)
{
Point(Handle)
}
Add(Timer,9968603,154,182)
{
Interval=100
link(onTimer,14016477:doData,[])
}
Add(ChangeMon,14016477,196,182)
{
link(onData,15708578:doEvent1,[])
link(Data,9785432:Var1,[(202,170)])
}
Add(GetDataEx,11743032,336,165)
{
Angle=1
link(Data,1002856:Handle,[(447,170)])
}
Add(GetDataEx,9785432,273,165)
{
Angle=1
link(Data,11743032:Var1,[])
}

карма: 19

0
Ответов: 33
Рейтинг: 2
#5: 2017-04-24 16:52:17 ЛС | профиль | цитата
Леонид, спасибо, но это не совсем то что я ищу, вобщем мне нужно захватить окно и выгрузить его обратно
захват - я имею ввиду переназначить с помощью элемента SetParent,
а вот как вернуть его обратно ? я подумал что если знать ИД рабочего стола то с помощью того же SetParent вернуть окно обратно,
но нужно чтоб программа нашла ИД сама, без мышки...
Вот в схемке мая мысля будет понятнее
Схемка

Add(MainForm,2953706,224,168)
{
Width=500
Height=600
Point(Handle)
}
Add(WinExec,7740231,189,21)
{
FileName="notepad.exe"
Point(ProcessID)
}
Add(Button,5465219,126,21)
{
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ЗАПУСТИТЬ БЛОКНОТ"
link(onClick,7740231:doExec,[])
}
Add(Button,5364659,42,105)
{
Top=50
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ПОИСК ОКНА"
link(onClick,15887338:doFind,[])
}
Add(SetParent,2960829,189,273)
{
Point(ParentHandle)
link(onSetParent,3909455:doEvent1,[])
link(Handle,11255131:Var2,[])
link(NewParent,2953706:Handle,[(202,219)(230,219)])
}
Add(Label,7105723,315,105)
{
Left=240
Top=60
Width=200
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="ИД ОКНА"
AutoSize=1
}
Add(FindWindow,15887338,112,105)
{
Caption="Безымянный — Блокнот"
SkipParam=2
link(onFind,1896593:doValue,[])
}
Add(StrCat,11001252,252,105)
{
Str1="ИД ОКНА - "
link(onStrCat,7105723:doText,[])
link(Str2,15887338:Handle,[(265,93)(160,93)(160,149)(118,149)])
}
Add(Button,13227139,119,273)
{
Top=100
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ЗАХВАТ ОКНА"
link(onClick,2960829:doSetParent,[])
}
Add(Memory,1896593,189,105)
{
link(onData,11001252:doStrCat,[])
}
Add(PosWindow,12362078,287,273)
{
link(Handle,8785889:Var2,[])
}
Add(Hub,3909455,245,273)
{
OutCount=4
link(onEvent1,12362078:doLeft,[])
link(onEvent2,12362078:doTop,[])
link(onEvent3,11821619:doWidth,[])
link(onEvent4,11821619:doHeight,[])
}
Add(SizeWindow,11821619,350,287)
{
Width=400
Height=500
link(Handle,8785889:Var3,[(356,243)])
}
Add(GetDataEx,11255131,189,238)
{
link(Data,1896593:Value,[])
}
Add(GetDataEx,8785889,287,238)
{
Angle=3
link(Data,11255131:Var3,[])
}
Add(Button,5216612,59,354)
{
Top=150
Width=340
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="КАК ВЫГРУЗИТЬ ОКНО ОБРАТНО ??"
}
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#6: 2017-04-24 18:06:51 ЛС | профиль | цитата
Dimka писал(а):
но нужно чтоб программа нашла ИД сама, без мышки...

Для компонента SetParent искать предыдущего родителя совсем не надо, он сохраняет Handlе предыдущего родителя, и его можно получить на точке OldParent.

Схема

Add(MainForm,3426258,301,294)
{
Width=500
Height=600
Point(Handle)
}
Add(WinExec,7740231,266,147)
{
FileName="notepad.exe"
Point(ProcessID)
}
Add(Button,5465219,203,147)
{
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ЗАПУСТИТЬ БЛОКНОТ"
link(onClick,7740231:doExec,[])
}
Add(Button,5364659,119,231)
{
Top=50
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ПОИСК ОКНА"
link(onClick,15887338:doFind,[])
}
Add(SetParent,2960829,266,399)
{
Point(ParentHandle)
link(onSetParent,3909455:doEvent1,[])
link(Handle,11255131:Var2,[])
link(NewParent,3426258:Handle,[(279,345)(307,345)])
}
Add(Label,7105723,392,231)
{
Left=240
Top=60
Width=200
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="ИД ОКНА"
AutoSize=1
}
Add(FindWindow,15887338,189,231)
{
ClassName="notepad"
SkipParam=1
link(onFind,1896593:doValue,[])
}
Add(StrCat,11001252,329,231)
{
Str1="ИД ОКНА - "
link(onStrCat,7105723:doText,[])
link(Str2,15887338:Handle,[(342,219)(237,219)(237,275)(195,275)])
}
Add(Button,13227139,196,399)
{
Top=100
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ЗАХВАТ ОКНА"
link(onClick,2960829:doSetParent,[])
}
Add(Memory,1896593,266,231)
{
link(onData,11001252:doStrCat,[])
}
Add(PosWindow,12362078,364,399)
{
link(Handle,8785889:Var2,[])
}
Add(Hub,3909455,322,399)
{
OutCount=4
link(onEvent1,12362078:doLeft,[])
link(onEvent2,12362078:doTop,[])
link(onEvent3,11821619:doWidth,[])
link(onEvent4,11821619:doHeight,[])
}
Add(SizeWindow,11821619,427,413)
{
Width=400
Height=500
link(Handle,8785889:Var3,[(433,369)])
}
Add(GetDataEx,11255131,266,364)
{
link(Data,1896593:Value,[])
}
Add(GetDataEx,8785889,364,364)
{
Angle=3
link(Data,11255131:Var3,[])
}
Add(Button,5216612,196,455)
{
Top=150
Width=340
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="КАК ВЫГРУЗИТЬ ОКНО ОБРАТНО ??"
link(onClick,3540648:doSetParent,[])
}
Add(SetParent,3540648,259,455)
{
Point(ParentHandle)
link(Handle,11255131:Var1,[(265,446)(188,446)(188,369)])
link(NewParent,2960829:OldParent,[])
}


По схеме -- искать окно лучше всего по классу, а не по заголовку. Для блокнота этот класс Notepad

Редактировалось 2 раз(а), последний 2017-04-24 18:09:58
карма: 22

0
Ответов: 33
Рейтинг: 2
#7: 2017-04-24 19:24:09 ЛС | профиль | цитата
nesco, понятно, спасибо!
nesco писал(а):
По схеме -- искать окно лучше всего по классу, а не по заголовку. Для блокнота этот класс Notepad

а если мне нужно найти один из нескольких установленных браузеров - тоже лучше по классу искать или не получится ?

ещё вопросик можно ли хэндл найти сразу из точки процесс ИД компонента WinExec после запуска этого процесса ?

Редактировалось 1 раз(а), последний 2017-04-24 19:39:28
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#8: 2017-04-24 19:44:13 ЛС | профиль | цитата
Dimka писал(а):
а если мне нужно найти один из нескольких установленных браузеров

У каждого браузера свой класс главного окна

Вот такой схемкой можно посмотреть классы окон и еще некоторую полезную инфу

WinInfo

Add(MainForm,5648784,231,175)
{
Visible=1
Point(onClose)
link(onCreate,2573960:doEvent1,[(275,195)(275,188)])
link(onClose,13953824:doDesabledMouseHook,[])
}
Add(WinInfo,7049642,476,336)
{
Point(Left)
Point(Top)
Point(Width)
Point(Height)
Point(LanguageName)
Point(ThreadID)
Point(ProcessID)
Point(ParentHandle)
link(onWinInfo,10535782:doEvent1,[])
link(Handle,10285583:Var2,[])
}
Add(BaloonToolTips,10234504,784,336)
{
Font=[Tahoma,8,0,0,1]
Title="WinInfo"
Icon=1
Mode=1
link(Handle,9184448:Value,[(790,303)(762,303)])
link(Point,10162127:Point,[])
}
Add(PointXY,10162127,798,252)
{
link(X,9981994:Value2,[(804,240)(398,240)])
link(Y,9981994:Value3,[(811,234)(405,234)])
}
Add(GHotKey,14340948,175,196)
{
@Hint=#22:Exit - <Ctrl><Alt><F4>|
Alt=1
Ctrl=1
Key=115
link(onEventHotKey,5648784:doClose,[])
AddHint(61,37,116,13,@Hint)
}
Add(Hub,2573960,287,182)
{
link(onEvent1,14340948:doStartHotKey,[(312,188)(312,157)(161,157)(161,202)])
link(onEvent2,13953824:doSetMouseHook,[])
}
Add(Hub,10535782,581,336)
{
link(onEvent1,15903031:doString,[])
link(onEvent2,10234504:doShow,[(729,349)(729,356)])
}
Add(InlineCode,13953824,336,189)
{
@Hint=#9:MouseHook|
WorkPoints=#14:doSetMouseHook|19:doDesabledMouseHook|
EventPoints=#11:onMouseHook|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|42:uses Windows, Messages, Kol, Share, Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|5: |9: public|27: onMouseHook:THI_Event;|59: procedure doSetMouseHook(var _Data:TData; Index:word);|69: procedure doDesabledMouseHook(var _Data:TData; Index:word); |5: end;|0:|14:implementation|0:|4:type|25: TMouseMoveHook = record|19: case Integer of|21: 0: (Hook: HHOOK);|24: 1: (Timer: THandle);|6: end;|0:|37: PMsLLHookStruct = ^TMsLLHookStruct;|35: tagMSLLHOOKSTRUCT = packed record|15: pt: TPoint;|21: mouseData: DWORD;|17: flags: DWORD;|16: time: DWORD;|24: dwExtraInfo: PDWORD;|6: end;|38: TMsLLHookStruct = tagMSLLHOOKSTRUCT;|0:|3:var|32: MouseMoveHook: TMouseMoveHook;|19: sClass: LongInt; |0:|93:function LowLevelMouseProc(nCode: Integer; WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall;|3:var|20: dh, dx, dy: TData;|5:begin|70: Result := CallNextHookEx(MouseMoveHook.Hook, nCode, WParam, LParam);|31: if WParam = WM_MOUSEMOVE then|7: begin|64: dtInteger(dh, WindowFromPoint(PMsLLHookStruct(LParam)^.pt));|49: dtInteger(dx, PMsLLHookStruct(LParam)^.pt.X);|49: dtInteger(dy, PMsLLHookStruct(LParam)^.pt.Y);|20: dh.ldata := @dx;|20: dx.ldata := @dy;|57: _hi_onEvent_(THiAsmUnit(sClass).onMouseHook, dh); |32:// ShowWindowInfoAtPos(Point(|38:// PMsLLHookStruct(LParam)^.pt.X,|40:// PMsLLHookStruct(LParam)^.pt.Y));|6: end;|4:end;|0:|49:procedure SetMouseHook(const IsEnabled: Boolean);|5:const|19: WH_MOUSE_LL = 14;|5:begin|19: if IsEnabled then|89: MouseMoveHook.Hook := SetWindowsHookEx(WH_MOUSE_LL, @LowLevelMouseProc, HInstance, 0)|6: else|44: UnhookWindowsHookEx(MouseMoveHook.Hook);|4:end;|0:|36:procedure THiAsmUnit.doSetMouseHook;|5:begin|26: sClass := LongInt(Self);|21: SetMouseHook(true);|4:end;|0:|41:procedure THiAsmUnit.doDesabledMouseHook;|5:begin|22: SetMouseHook(false);|9:end; |0:|4:end.|
link(onMouseHook,9981994:doValue,[])
AddHint(67,-37,73,13,@Hint)
}
Add(MT_MultiMem,9981994,385,189)
{
Count=3
link(onData,15708578:doEvent1,[])
}
Add(FormatStr,15903031,630,336)
{
DataCount=12
Mask="ClassName: %1\r\nCaption: %2\r\nLanguageName: %7\r\nLeft: %3\r\nTop: %4\r\nWidth: %5\r\nHeight: %6\r\n\r\nThreadID: %8\r\nProcessID: %9\r\nParentHandle: %11\r\nHandle: %10"
link(onFString,10234504:doCreate,[])
link(Str1,7049642:ClassName,[(636,324)(559,324)(559,380)(482,380)])
link(Str2,7049642:Caption,[(643,324)(566,324)(566,380)(489,380)])
link(Str3,7049642:Left,[(650,324)(573,324)(573,380)(496,380)])
link(Str4,7049642:Top,[(657,324)(580,324)(580,380)(503,380)])
link(Str5,7049642:Width,[(664,324)(587,324)(587,380)(510,380)])
link(Str6,7049642:Height,[(671,324)(594,324)(594,380)(517,380)])
link(Str7,7049642:LanguageName,[(678,324)(601,324)(601,380)(524,380)])
link(Str8,7049642:ThreadID,[(685,324)(608,324)(608,380)(531,380)])
link(Str9,7049642:ProcessID,[(692,324)(615,324)(615,380)(538,380)])
link(Str10,10285583:Var3,[(699,246)])
link(Str11,7049642:ParentHandle,[(706,324)(626,324)(626,380)(545,380)])
}
Add(Memory,9184448,756,252)
{
Default=Integer(0)
}
Add(Hub,15708578,434,189)
{
link(onEvent1,10234504:doDestroy,[(738,195)(738,349)])
link(onEvent2,7049642:doWinInfo,[(462,202)(462,342)])
}
Add(GetDataEx,10285583,476,241)
{
Angle=3
link(Data,9981994:Value1,[(391,246)])
}


Редактировалось 1 раз(а), последний 2017-04-24 19:46:27
карма: 22

0
Ответов: 33
Рейтинг: 2
#9: 2017-04-24 21:21:58 ЛС | профиль | цитата
nesco, а можно узнать хэндл по ИД процесса после запуска программы с помощью WinExec ?
>
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#10: 2017-04-24 23:12:10 ЛС | профиль | цитата
Dimka писал(а):
а можно узнать хэндл по ИД процесса после запуска программы с помощью WinExec ?

Напрямую -- нет, нельзя, только перебором всех хандлов, получением их ID и сравнением с нужным тебе.

--- Добавлено в 2017-04-24 23:45:07

Да, учти еще и то, что у процесса может быть несколько окон

--- Добавлено в 2017-04-24 23:51:22

Вот реализация того, о чем я говорил

Схема

Add(MainForm,3426258,378,301)
{
Width=500
Height=600
Point(Handle)
}
Add(WinExec,7740231,245,154)
{
FileName="notepad.exe"
Point(ProcessID)
}
Add(Button,5465219,70,154)
{
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ЗАПУСТИТЬ БЛОКНОТ"
link(onClick,7740231:doExec,[])
}
Add(Button,5364659,70,231)
{
Top=50
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ПОИСК ОКНА"
link(onClick,12421002:doEnum,[])
}
Add(SetParent,2960829,357,399)
{
Point(ParentHandle)
link(onSetParent,3909455:doEvent1,[])
link(Handle,11255131:Var2,[])
link(NewParent,3426258:Handle,[(370,345)(384,345)])
}
Add(Button,13227139,287,399)
{
Top=100
Width=220
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="ЗАХВАТ ОКНА"
link(onClick,2960829:doSetParent,[])
}
Add(Memory,1896593,357,238)
{
Point(Data)
link(onData,1576976:doStrCat,[])
link(Data,1671510:Var3,[(363,206)])
}
Add(PosWindow,12362078,455,399)
{
link(Handle,8785889:Var2,[])
}
Add(Hub,3909455,413,399)
{
OutCount=4
link(onEvent1,12362078:doLeft,[])
link(onEvent2,12362078:doTop,[])
link(onEvent3,11821619:doWidth,[])
link(onEvent4,11821619:doHeight,[])
}
Add(SizeWindow,11821619,518,413)
{
Width=400
Height=500
link(Handle,8785889:Var3,[(524,369)])
}
Add(GetDataEx,11255131,357,364)
{
link(Data,1896593:Value,[])
}
Add(GetDataEx,8785889,455,364)
{
Angle=3
link(Data,11255131:Var3,[])
}
Add(Button,5216612,287,455)
{
Top=150
Width=340
Height=40
Font=[MS Sans Serif,12,1,0,1]
Caption="КАК ВЫГРУЗИТЬ ОКНО ОБРАТНО ??"
link(onClick,3540648:doSetParent,[])
}
Add(SetParent,3540648,350,455)
{
Point(ParentHandle)
link(Handle,11255131:Var1,[(356,446)(279,446)(279,369)])
link(NewParent,2960829:OldParent,[])
}
Add(WinEnum,12421002,133,231)
{
link(onFindWindow,15842682:doWinInfo,[])
}
Add(WinInfo,15842682,189,231)
{
Point(ProcessID)
link(onWinInfo,6836922:doCompare,[])
link(Handle,1671510:Var2,[])
}
Add(If_else,6836922,245,231)
{
link(onTrue,12229469:doEvent1,[])
link(Op1,7740231:ProcessID,[])
link(Op2,15842682:ProcessID,[(258,222)(286,222)(286,271)(209,271)])
}
Add(Label,13399268,469,238)
{
Left=240
Top=90
Width=200
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="ИД ОКНА"
AutoSize=1
}
Add(StrCat,1576976,413,238)
{
Str1="ИД ОКНА - "
link(onStrCat,13399268:doText,[])
}
Add(GetDataEx,1671510,189,201)
{
Angle=3
link(Data,12421002:Handle,[(181,206)(181,278)(139,278)])
}
Add(Hub,12229469,301,231)
{
link(onEvent1,12421002:doStop,[(326,237)(326,286)(123,286)(123,251)])
link(onEvent2,1896593:doValue,[])
}


Редактировалось 4 раз(а), последний 2017-04-24 23:52:15
карма: 22

0
Ответов: 33
Рейтинг: 2
#11: 2017-04-24 23:58:31 ЛС | профиль | цитата
nesco, понятно, спасибо за помощь !
карма: 0

0
Ответов: 497
Рейтинг: 16
#12: 2017-05-01 19:13:47 ЛС | профиль | цитата
Дабы не создавать тему спрошу здесь. кто то смог рисовать на рабочем столе под иконками(для избежания мерцаний от перерисовки) ? попытки сделать вживление своей формы (Франкенштейна) ничем толковым не закончились.

--- Добавлено в 2017-05-01 19:17:46

Я и брал иконки на свою форму но тогда фон их не прозрачный да и перетаскивание не работало. И внедрял свою форму под иконки(+ иконкам режим "поплавок" включал) но моя форма всегда почему-то сверху.

Редактировалось 1 раз(а), последний 2017-05-01 19:17:46
карма: 1
        ]  
0
Ответов: 165
Рейтинг: 6
#13: 2017-05-01 22:03:08 ЛС | профиль | цитата
RAWY_EX, лет 7-8 назад здесь был пример плеера, который воспроизводил видео на рабочем столе под иконками, но спустя несколько лет и уже в другом Windows (с тем же компонентом), эта схема создавала собственное окно и воспроизводила видео в нём. Тоже хотелось бы сейчас найти рабочее решение.
карма: 4

0
Ответов: 8888
Рейтинг: 823
#14: 2017-05-02 18:07:11 ЛС | профиль | цитата
RAWY_EX, чтобы не искать приложил, поможет? http://forum.hiasm.com/getfile/38101
карма: 19

0
14
Сообщение
...
Прикрепленные файлы
(файлы не залиты)