Вверх ↑
Этот топик читают: Гость
Ответов: 496
Рейтинг: 14
#1: 2020-12-16 12:24:44 ЛС | профиль | цитата
В большинстве программ Handle дочерних окон не определяется, а только Handle главного окна. Есть ли способ узнать Handle элементов управления в таких программах. Конкретно меня интересуют браузеры

Add(MainForm,7361951,147,161)
{
Width=492
Height=488
Position=1
}
Add(Button,15685873,238,161)
{
Left=345
Top=400
Width=100
Caption="Найти"
Data=String(test5;obj_EDIT;)
link(onClick,739782:doEvent1,[])
}
Add(Hub,739782,287,161)
{
OutCount=3
link(onEvent1,2921965:doWork1,[(461,167)])
link(onEvent2,12552730:doFind,[])
link(onEvent3,12552730:doEnumChildWindows,[(311,181)(311,188)])
}
Add(MT_String,4289696,364,175)
{
link(onResult,16575570:doWork2,[])
}
Add(WinEnum,12552730,322,161)
{
VisibleOnly=1
Point(doEnumChildWindows)
Point(ParentHandle)
Point(onEnumChildWindows)
link(Caption,425906:Text,[])
link(ParentHandle,12552730:Handle,[(335,149)(342,149)(342,203)(328,203)])
link(onEnumChildWindows,4289696:doStr,[])
}
Add(Memo,10004205,490,175)
{
Left=15
Top=5
Width=445
Height=335
ScrollBars=2
}
Add(StrMask,3595837,413,140)
{
Mask="Edit;*;"
}
Add(Button,11055457,238,217)
{
Left=40
Top=400
Width=110
Caption="Найти все окна"
Data=String(test5;obj_EDIT;)
link(onClick,1076426:doEvent1,[])
}
Add(Hub,1076426,287,217)
{
link(onEvent1,2921965:doWork3,[(461,223)])
link(onEvent2,13579264:doEnum,[])
}
Add(HubEx,2921965,457,182)
{
link(onEvent,10004205:doClear,[])
}
Add(WinEnum,13579264,322,224)
{
link(onFindWindow,16575570:doWork3,[(445,230)])
}
Add(HubEx,16575570,441,175)
{
link(onEvent,10004205:doAdd,[])
}
Add(Edit,425906,322,105)
{
Left=20
Top=360
Width=440
Text=""
}

карма: 4

0
vip
#1.1контекстная реклама от партнеров
Ответов: 347
Рейтинг: 50
#2: 2020-12-16 15:48:47 ЛС | профиль | цитата
Sersey писал(а):
Есть ли способ узнать Handle элементов управления в таких программах.

Я пользуюсь "InqSoft Window Scanner" и "Microsoft Spy++".
Add(Memo,10004205,504,91)
{
Left=15
Top=5
Width=445
Height=335
ScrollBars=3
}
Add(Button,11055457,252,84)
{
Left=40
Top=400
Width=110
Caption="Найти все окна"
Data=String(test5;obj_EDIT;)
link(onClick,1076426:doEvent1,[])
}
Add(Hub,1076426,301,84)
{
link(onEvent1,10004205:doClear,[(487,90)(487,104)])
link(onEvent2,13579264:doEnum,[])
}
Add(WinEnum,13579264,336,91)
{
Point(doEnumChildWindows)
Point(onEnumChildWindows)
link(onFindWindow,6448867:doEvent1,[])
}
Add(MainForm,4318537,161,84)
{
Width=527
Height=474
Caption="Asdf"
}
Add(Hub,6448867,385,91)
{
link(onEvent1,9627109:doWork2,[])
link(onEvent2,5954870:doEnumChildWindows,[(410,104)(410,132)(319,132)(319,174)])
}
Add(WinEnum,5954870,329,147)
{
Point(doEnumChildWindows)
Point(onEnumChildWindows)
Point(ParentHandle)
Point(GetActiveWindow)
link(onEnumChildWindows,8871565:doString,[])
link(ParentHandle,13579264:Handle,[])
}
Add(FormatStr,8871565,399,161)
{
DataCount=3
Mask=" ------- %1 (%2) %3"
link(onFString,9627109:doWork3,[(480,167)])
}
Add(HubEx,9627109,476,91)
{
link(onEvent,10004205:doAdd,[])
}


Редактировалось 2 раз(а), последний 2020-12-16 19:21:56
карма: 9

0
Ответов: 215
Рейтинг: 14
#3: 2020-12-16 18:25:45 ЛС | профиль | цитата
delete

Редактировалось 1 раз(а), последний 2020-12-16 18:26:35
карма: 3

0
Ответов: 6
Рейтинг: 0
#4: 2020-12-17 15:13:50 ЛС | профиль | цитата
Схема не моя.


Add(DoData,11326602,2330,602)
{
Data=String(Основная форма:)
link(onEventData,8935700:doWork3,[(2389,608)])
}
Add(ChildPanelEx,8573564,259,294)
{
link(onMouseDown,7796314:doEvent1,[])
link(onMouseUp,10571881:doStop,[(309,307)(309,314)])
}
BEGIN_SDK
Add(EditMultiEx,14926539,21,21)
{
EventCount=#11:onMouseDown|9:onMouseUp|
VarCount=#4:Var2|
Width=370
Height=235
link(Var2,2110201:Var2,[(27,185)(139,185)])
}
Add(Panel,9352803,63,210)
{
Left=2
Top=2
Width=400
Height=52
Layout="parent.001"
}
Add(MouseEvent,13849680,119,49)
{
Point(Handle)
}
Add(Label,6639085,119,91)
{
Left=12
Top=22
Width=9
Height=17
Caption="x"
link(Text,13849680:MouseX,[])
}
Add(Label,16696730,126,98)
{
Left=12
Top=34
Width=9
Height=17
Caption="y"
link(Text,13849680:MouseY,[])
}
Add(Hub,329771,91,91)
{
OutCount=3
link(onEvent1,6639085:doText,[])
link(onEvent2,16696730:doText,[])
link(onEvent3,9445656:doWinInfo,[(117,111)(117,167)])
}
Add(Timer,5156076,49,91)
{
Interval=100
link(onTimer,329771:doEvent1,[])
}
Add(WinInfo,9445656,154,161)
{
Point(ClientWidth)
Point(ClientHeight)
link(onWinInfo,13355009:doEvent1,[])
link(Handle,11937418:Var2,[])
}
Add(GetDataEx,2110201,133,139)
{
link(Data,13849680:Handle,[])
}
Add(Label,3459126,280,63)
{
Left=125
Top=6
link(Text,9445656:ClassName,[(286,52)(193,52)(193,202)(160,202)])
}
Add(Label,4166633,280,114)
{
Left=125
Top=20
link(Text,11937418:Var3,[(286,101)(201,101)(201,144)])
}
Add(Label,10449337,280,175)
{
Left=125
Top=34
link(Text,9445656:Caption,[(286,156)(201,156)(201,212)(167,212)])
}
Add(Hub,13355009,217,161)
{
OutCount=3
link(onEvent1,3459126:doText,[(242,167)(242,69)])
link(onEvent2,4166633:doText,[(251,174)(251,120)])
link(onEvent3,10449337:doText,[])
}
Add(GetDataEx,11937418,154,139)
{
Angle=3
link(Data,2110201:Var3,[])
}
Add(Label,4921657,105,322)
{
Left=3
Top=22
Width=12
Height=17
Caption="x:"
}
Add(Label,8723969,159,323)
{
Left=3
Top=34
Width=12
Height=17
Caption="y:"
}
Add(Label,15055634,210,322)
{
Left=83
Top=20
Width=41
Height=17
Caption="Handle:"
}
Add(Label,16672474,266,322)
{
Left=81
Top=34
Width=43
Height=17
Caption="Caption:"
}
Add(Label,3988197,322,322)
{
Left=65
Top=6
Width=60
Height=17
Caption="ClassName:"
}
Add(Button,12552102,329,28)
{
Left=3
Top=2
Hint="нажать и не отпуская перемещать мышь для "захвата" окна"
Caption="Захват"
Point(onMouseDown)
Point(onMouseUp)
link(onMouseDown,14926539:onMouseDown,[(375,41)(375,27)])
link(onMouseUp,14926539:onMouseUp,[(383,48)(383,34)])
}
END_SDK
Add(MainForm,2953706,210,133)
{
Width=421
Height=556
Caption="Информация об окнах"
Position=1
}
Add(Timer,10571881,350,301)
{
Interval=100
Enable=1
Point(onStop)
link(onTimer,15681815:doData,[])
link(onStop,13990695:doEvent1,[(395,314)(395,363)])
}
Add(ChangeMon,15681815,413,301)
{
link(onData,4999073:doEvent1,[])
link(Data,16036269:Var3,[(419,203)])
}
Add(HubEx,8782812,635,357)
{
link(onEvent,16397730:doRedraw,[])
}
Add(Hub,6774152,497,301)
{
OutCount=3
link(onEvent1,8616526:doWork2,[])
link(onEvent2,9386807:doWork3,[(543,314)])
link(onEvent3,203949:doWork2,[])
}
Add(Memory,1735864,651,217)
{
}
Add(DoData,7806982,350,217)
{
link(onEventData,1217456:doWork2,[])
link(Data,16036269:Var2,[])
}
Add(WinTools,16397730,651,329)
{
Point(doRedraw)
link(Handle,16606052:Var2,[])
}
Add(Hub,7796314,315,294)
{
link(onEvent1,7806982:doData,[(343,300)(343,223)])
link(onEvent2,10571881:doTimer,[])
}
Add(HubEx,9386807,539,217)
{
link(onEvent,1735864:doValue,[])
}
Add(WinInfo,1714651,546,315)
{
Point(Left)
Point(Top)
Point(Width)
Point(Height)
link(onWinInfo,887494:doTimer,[(607,321)(607,399)(534,399)(534,489)])
link(Handle,14866356:Var1,[(552,260)])
}
Add(PointXY,12997976,560,427)
{
link(X,1714651:Left,[])
link(Y,1714651:Top,[])
}
Add(GetDataEx,16036269,350,198)
{
Angle=3
link(Data,8573564:Var2,[(301,203)(301,336)(265,336)])
}
Add(Hub,13990695,455,357)
{
OutCount=3
link(onEvent1,8782812:doWork2,[])
link(onEvent2,5221310:doClear,[])
link(onEvent3,14404215:doFind,[(484,377)(484,531)])
}
Add(WinInfo,1482271,728,308)
{
Point(ParentHandle)
Point(Left)
Point(Top)
Point(Width)
Point(Height)
Point(ClientWidth)
Point(ClientHeight)
link(onWinInfo,6114412:doEvent1,[])
link(Handle,6511472:Var2,[])
}
Add(MTStrTbl,14109818,350,70)
{
Left=2
Top=226
Width=400
Height=263
Name="1"
Hint="список дочерних окон"
Layout="001"
HeightScale=100
Columns=#4:№=28|13:ClassName=100|9:Handle=80|18:Caption=170 |
link(onClick,9995257:doSeparateMT,[(391,76)(391,116)(338,116)(338,132)])
}
Add(Hub,6114412,833,308)
{
OutCount=7
link(onEvent1,26639:doClear,[])
link(onEvent2,8436177:doStrCat,[])
link(onEvent3,13311049:doStrCat,[])
link(onEvent4,9883766:doStrCat,[])
link(onEvent5,5689966:doStrCat,[])
link(onEvent6,9457768:doString,[(868,349)(868,384)])
link(onEvent7,29923:doString,[(910,356)(910,433)])
}
Add(StrCat,8436177,875,315)
{
Str1="ClassName: "
link(onStrCat,11750781:doWork2,[])
link(Str2,5997523:Var3,[(888,296)(815,296)(815,367)])
}
Add(StrCat,7058463,2237,595)
{
Str1="Дочерняя форма №"
link(onStrCat,8088677:doEvent1,[])
}
Add(StrCat,9883766,959,329)
{
Str1=" Caption: "
link(onStrCat,7296946:doWork2,[])
link(Str2,6500115:Var3,[(972,288)(807,288)(807,352)])
}
Add(StrCat,5689966,1001,336)
{
Str1=" Родитель: "
link(onStrCat,11226076:doWork2,[])
link(Str2,4331740:Var3,[(1014,279)(823,279)(823,377)])
}
Add(Memo,26639,1085,301)
{
Left=2
Top=55
Width=400
Height=169
Hint="информация о "захваченном" окне"
Layout="001"
ScrollBars=3
ReadOnly=0
}
Add(StrCat,13311049,917,322)
{
Str1=" Handle: "
link(onStrCat,808970:doWork2,[])
link(Str2,8671692:Var2,[])
}
Add(GetDataEx,6511472,728,255)
{
Angle=3
link(Data,13667125:Var3,[])
}
Add(HubEx,11750781,1060,315)
{
Angle=3
link(onEvent,26639:doAdd,[(1064,307)])
}
Add(HubEx,808970,1060,322)
{
Angle=3
link(onEvent,11750781:doWork3,[])
}
Add(HubEx,7296946,1060,329)
{
Angle=3
link(onEvent,808970:doWork3,[])
}
Add(FormatStr,9457768,924,378)
{
DataCount=3
Mask="x: %1 ширина: %2 клиентская: %3"
link(onFString,11702491:doWork2,[])
link(Str1,1482271:Left,[(930,367)(755,367)])
link(Str2,1482271:Width,[(937,367)(769,367)])
link(Str3,1482271:ClientWidth,[(944,367)(783,367)])
}
Add(HubEx,11226076,1060,336)
{
Angle=3
link(onEvent,7296946:doWork3,[])
}
Add(FormatStr,29923,973,427)
{
DataCount=3
Mask="y: %1 высота: %2 клиентская: %3"
link(onFString,10561061:doWork2,[])
link(Str1,1482271:Top,[(979,417)(762,417)])
link(Str2,1482271:Height,[(986,417)(776,417)])
link(Str3,1482271:ClientHeight,[(993,417)(790,417)])
}
Add(HubEx,11702491,1060,378)
{
Angle=3
link(onEvent,11226076:doWork3,[])
}
Add(VBoxLayout,11797834,210,203)
{
Name="001"
Space=2
Padding=2
}
Add(FindWindow,14404215,721,525)
{
SkipParam=2
link(onFind,11147663:doCompare,[])
link(Caption,13337756:Var2,[])
}
Add(GetDataEx,6500115,735,347)
{
link(Data,1482271:Caption,[])
}
Add(If_else,11147663,784,525)
{
Op2=Integer(0)
link(onTrue,1315945:doWork2,[])
link(onFalse,10629810:doCompare,[(832,538)(832,552)])
}
Add(If_else,10629810,847,546)
{
Type=5
link(onTrue,1315945:doWork3,[(895,552)])
link(onFalse,15159240:doStrCat,[(891,559)(891,608)])
link(Op1,14404215:Handle,[(853,514)(767,514)(767,570)(727,570)])
link(Op2,4663257:Var2,[])
}
Add(GetDataEx,13667125,700,255)
{
Angle=3
link(Data,14866356:Var3,[])
}
Add(FindWindow,3765543,938,525)
{
SkipParam=1
link(onFind,8326643:doCompare,[])
link(ClassName,4607319:Var2,[])
}
Add(GetDataEx,5997523,728,362)
{
link(Data,1482271:ClassName,[])
}
Add(If_else,8326643,1001,525)
{
Type=5
Op2=Integer(0)
link(onTrue,4504615:doData,[])
link(onFalse,10697731:doStrCat,[(1045,538)(1045,573)])
link(Op1,3765543:Handle,[(1007,514)(984,514)(984,569)(944,569)])
link(Op2,5820687:Var2,[])
}
Add(HubEx,1315945,891,525)
{
link(onEvent,3765543:doFind,[])
}
Add(GetDataEx,4663257,854,498)
{
Angle=3
link(Data,13667125:Var2,[(706,503)])
}
Add(Hub,3594430,1120,567)
{
InCount=2
OutCount=3
link(onEvent1,2357018:doWork3,[(1146,573)])
link(onEvent2,9025114:doReset,[(1200,580)(1200,643)])
link(onEvent3,16027179:doEnumChildWindows,[(1144,587)(1144,643)])
}
Add(MST_Clear,5221310,490,364)
{
MSTControl="1"
}
Add(WinEnum,16027179,1155,616)
{
VisibleOnly=1
Point(doEnumChildWindows)
Point(onEnumChildWindows)
Point(ParentHandle)
link(onEndEnum,11217749:doWork2,[(1615,629)(1615,734)])
link(onEnumChildWindows,13247270:doEvent1,[])
link(ParentHandle,5820687:Var3,[(1168,503)])
}
Add(GetDataEx,5820687,1008,498)
{
Angle=3
link(Data,4663257:Var3,[])
}
Add(MST_RowAction,9515222,1323,679)
{
MSTControl="1"
}
Add(CounterEx,9025114,1267,630)
{
Min=-1
Max=1000
Default=-1
Point(doReset)
}
Add(Hub,13247270,1218,630)
{
link(onEvent1,9025114:doNext,[])
link(onEvent2,8923427:doAdd,[(1250,643)(1250,685)])
}
Add(MT_Add,8923427,1267,679)
{
InputMT=1
link(onAdd,9515222:doRowAction,[])
link(Data,9025114:Count,[])
}
Add(Hub,4999073,462,301)
{
link(onEvent1,6774152:doEvent1,[])
link(onEvent2,1482271:doWinInfo,[])
}
Add(MT_MultiData,9995257,350,126)
{
Count=3
Point(Data)
link(onData3,14877233:doEvent1,[])
link(Data,14109818:Select,[])
}
Add(Hub,7962996,469,147)
{
InCount=2
OutCount=3
link(onEvent1,1217456:doWork1,[(510,153)])
link(onEvent2,203949:doWork1,[(522,160)])
link(onEvent3,2193180:doTimer,[(531,167)(531,181)])
}
Add(HubEx,1217456,506,217)
{
link(onEvent,9386807:doWork2,[])
}
Add(Timer,2193180,546,175)
{
Interval=250
Enable=1
AutoStop=1
link(onTimer,8616526:doWork1,[(606,181)])
}
Add(StrCat,15159240,903,602)
{
Str1="Основная форма по Caption: "
link(onStrCat,3594430:doEvent2,[(1097,608)(1097,580)])
link(Str2,13337756:Var3,[(916,486)])
}
Add(GetDataEx,13337756,735,481)
{
link(Data,6500115:Var2,[])
}
Add(StrCat,10697731,1057,567)
{
Str1="Основная форма по ClassName: "
link(onStrCat,3594430:doEvent1,[])
link(Str2,4607319:Var3,[(1070,494)])
}
Add(GetDataEx,4607319,945,489)
{
Angle=3
link(Data,5997523:Var2,[(734,494)])
}
Add(HubEx,10561061,1060,427)
{
Angle=3
link(onEvent,11702491:doWork3,[])
}
Add(Memory,7794618,1267,525)
{
link(onData,7541065:doCompare,[])
}
Add(DoData,4504615,1204,525)
{
link(onEventData,483413:doWork2,[])
link(Data,4331740:Var2,[(1210,478)(748,478)])
}
Add(GetDataEx,4331740,742,372)
{
link(Data,1482271:ParentHandle,[])
}
Add(If_else,7541065,1330,525)
{
Op2=Integer(0)
link(onTrue,13912033:doData,[(1381,531)(1381,454)])
link(onFalse,8227468:doWinInfo,[])
}
Add(DoData,13912033,1393,448)
{
Data=String(Не добраться до окна!)
link(onEventData,10503121:doWork3,[(1437,454)])
}
Add(HubEx,2357018,1142,427)
{
Angle=2
link(onEvent,10561061:doWork1,[])
}
Add(WinInfo,8227468,1414,532)
{
Point(ParentHandle)
link(onWinInfo,1867882:doFind,[])
link(Handle,12727002:Var2,[])
}
Add(FindWindow,1867882,1484,532)
{
SkipParam=2
link(onFind,5719285:doCompare,[])
link(Caption,3441047:Var2,[])
}
Add(If_else,5719285,1540,532)
{
Op2=Integer(0)
link(onTrue,3140931:doWork2,[])
link(onFalse,3391407:doCompare,[(1588,545)(1588,559)])
}
Add(If_else,3391407,1603,553)
{
Type=5
link(onTrue,3140931:doWork3,[(1651,559)])
link(onFalse,8697329:doEvent2,[(1672,566)(1672,601)])
link(Op1,1867882:Handle,[(1609,525)(1529,525)(1529,577)(1490,577)])
link(Op2,7130705:Var2,[])
}
Add(FindWindow,12937575,1694,532)
{
SkipParam=1
link(onFind,11034211:doCompare,[])
link(ClassName,8788512:Var2,[])
}
Add(If_else,11034211,1757,532)
{
Type=5
Op2=Integer(0)
link(onTrue,222563:doData,[])
link(onFalse,8697329:doEvent1,[(1801,545)(1801,594)])
link(Op1,12937575:Handle,[(1763,524)(1738,524)(1738,576)(1700,576)])
link(Op2,14887739:Var2,[])
}
Add(HubEx,3140931,1647,532)
{
link(onEvent,12937575:doFind,[])
}
Add(DoData,222563,1820,532)
{
link(onEventData,483413:doWork3,[(1864,538)(1864,493)(1250,493)])
link(Data,8227468:ParentHandle,[(1826,500)(1473,500)(1473,587)(1434,587)])
}
Add(GetDataEx,12727002,1414,509)
{
Angle=3
link(Data,7794618:Value,[(1392,514)(1392,568)(1273,568)])
}
Add(GetDataEx,7130705,1610,509)
{
Angle=3
link(Data,12727002:Var3,[])
}
Add(HubEx,483413,1246,525)
{
link(onEvent,7794618:doValue,[])
}
Add(Hub,8697329,1813,588)
{
InCount=2
link(onEvent1,15819513:doReset,[])
link(onEvent2,2218896:doEnumChildWindows,[(1865,601)(1865,594)])
}
Add(WinEnum,2218896,1880,567)
{
VisibleOnly=1
Point(doEnumChildWindows)
Point(onEnumChildWindows)
Point(ParentHandle)
link(onEndEnum,11542020:doEvent1,[(1928,580)(1928,713)])
link(onEnumChildWindows,15972693:doEvent1,[])
link(ParentHandle,12862008:Var2,[])
}
Add(MST_RowAction,5785486,2048,665)
{
MSTControl="1"
}
Add(CounterEx,15819513,1992,581)
{
Min=-1
Max=1000
Default=-1
Point(doReset)
}
Add(Hub,15972693,1943,581)
{
OutCount=3
link(onEvent1,15819513:doNext,[])
link(onEvent2,15921592:doSeparateMT,[])
link(onEvent3,949109:doAdd,[(1975,601)(1975,671)])
}
Add(MT_Add,949109,1992,665)
{
InputMT=1
link(onAdd,5785486:doRowAction,[])
link(Data,10479317:Var2,[])
}
Add(MT_MultiData,15921592,2048,588)
{
link(onData2,5811660:doCompare,[])
}
Add(GetDataEx,14887739,1764,509)
{
Angle=3
link(Data,7130705:Var3,[])
}
Add(If_else,5811660,2111,595)
{
link(onTrue,5010402:doValue,[])
link(Op2,6835352:Var2,[])
}
Add(HubEx,10503121,1433,427)
{
Angle=2
link(onEvent,2357018:doWork2,[])
}
Add(Hub,8088677,2293,595)
{
OutCount=5
link(onEvent1,15900902:doWork3,[(2319,601)])
link(onEvent2,11326602:doData,[])
link(onEvent3,2597637:doStrCat,[])
link(onEvent4,7131265:doStrCat,[])
link(onEvent5,7239869:doStrCat,[])
}
Add(StrCat,7239869,2455,623)
{
Str1=" Caption: "
link(onStrCat,16511762:doWork2,[(2495,629)(2495,433)])
link(Str2,3441047:Var3,[(2468,520)])
}
Add(StrCat,7131265,2413,616)
{
Str1=" Handle: "
link(onStrCat,16511762:doWork3,[(2457,622)])
link(Str2,12862008:Var3,[(2426,514)])
}
Add(StrCat,2597637,2371,609)
{
Str1="ClassName: "
link(onStrCat,13466037:doWork3,[(2415,615)])
link(Str2,8788512:Var3,[(2384,508)])
}
Add(GetDataEx,8788512,1701,503)
{
Angle=3
link(Data,8227468:ClassName,[(1455,508)(1455,581)(1420,581)])
}
Add(GetDataEx,12862008,1887,509)
{
Angle=3
link(Data,14887739:Var3,[])
}
Add(GetDataEx,3441047,1498,515)
{
Angle=3
link(Data,8227468:Caption,[(1462,520)(1462,576)(1427,576)])
}
Add(HubEx,15900902,2315,427)
{
Angle=2
link(onEvent,10503121:doWork2,[])
}
Add(HubEx,13466037,2411,427)
{
Angle=2
link(onEvent,8935700:doWork2,[])
}
Add(HubEx,16511762,2453,427)
{
Angle=2
link(onEvent,13466037:doWork2,[])
}
Add(HubEx,8935700,2385,427)
{
Angle=2
link(onEvent,15900902:doWork2,[])
}
Add(GetDataEx,8671692,924,255)
{
Angle=3
link(Data,6511472:Var3,[])
}
Add(MST_SelectRow,3861468,2251,672)
{
MSTControl="1"
}
Add(Memory,5010402,2188,595)
{
Point(Data)
link(onData,7058463:doStrCat,[])
link(Data,10479317:Var3,[(2194,583)(2090,583)(2090,635)])
}
Add(GetDataEx,10479317,1992,630)
{
link(Data,15819513:Count,[])
}
Add(DoData,6384565,2188,672)
{
link(onEventData,3861468:doSelect,[])
link(Data,5010402:Value,[])
}
Add(ChildPanelEx,10678588,2167,728)
{
link(onClick,13422697:In,[])
}
BEGIN_SDK
Add(EditMultiEx,8079205,21,21)
{
WorkCount=#8:doEvent1|8:doEvent2|
EventCount=#7:onClick|
Width=643
Height=620
link(doEvent1,7252354:doEvent1,[(91,27)(91,55)])
link(doEvent2,7252354:doEvent2,[(81,34)(81,62)])
}
Add(Panel,13991157,35,105)
{
Left=2
Top=490
Width=400
Height=25
Layout="parent.001"
}
Add(Label,15142834,394,35)
{
Left=45
Top=4
Width=12
Height=17
Caption="x:"
}
Add(Button,6033364,74,241)
{
Left=2
Top=1
Width=40
Hint="послать окну клик левой клавишей миши"
Caption="ЛКМ"
link(onClick,4177877:doEvent1,[])
}
Add(Edit,9539172,253,49)
{
Left=55
Top=1
Width=35
Hint="отступ по горизонтали для команды ЛКМ"
Text="0"
}
Add(Label,4525223,440,32)
{
Left=96
Top=4
Width=12
Height=17
Caption="y:"
}
Add(Edit,8286008,304,49)
{
Left=105
Top=1
Width=35
Hint="отступ по вертикали для команды ЛКМ"
Text="0"
}
Add(Label,10749028,485,34)
{
Left=144
Top=4
Width=39
Height=17
Caption="handle:"
}
Add(Edit,15501280,191,49)
{
Left=180
Top=1
Width=59
Hint="хэндл "подопытного" окна"
Text="handle"
link(onChange,14290044:doEvent1,[(238,55)(238,160)(45,160)(45,400)])
}
Add(Hub,7252354,161,49)
{
InCount=2
OutCount=1
link(onEvent1,15501280:doText,[])
}
Add(SendMessage,5695693,258,304)
{
Message=1
Point(Message)
link(Handle,13183465:Var2,[])
link(LParam,5921510:Var2,[])
link(Message,8986266:Value,[(285,244)(341,244)])
}
Add(Memory,14141491,293,154)
{
Default=String(513)
}
Add(Hub,4177877,125,241)
{
link(onEvent1,13856255:doSendMessage,[])
link(onEvent2,5695693:doSendMessage,[(199,254)(199,310)])
}
Add(Memory,8986266,335,153)
{
Default=String(514)
}
Add(PointXY,4923117,272,103)
{
link(X,9539172:Text,[(278,94)(259,94)])
link(Y,8286008:Text,[(285,95)(310,95)])
}
Add(Button,2280899,327,410)
{
Left=284
Top=1
Width=57
Hint="сделать окно видимым\не видимым"
Caption="VISIBLE"
Point(doCaption)
link(onClick,11409001:doEvent,[])
}
Add(Button,8388962,328,522)
{
Left=341
Top=1
Width=54
Hint="сделать окно доступным\не доступным"
Caption="ENABLE"
Point(doCaption)
link(onClick,9753109:doEvent,[])
}
Add(WinTools,3822691,371,322)
{
Point(doEnable)
Point(isVisible)
Point(isEnabled)
link(Handle,1573466:Var2,[])
}
Add(IndexToChanel,11409001,378,410)
{
Point(Index)
link(onEvent1,16046770:doEvent1,[])
link(onEvent2,16074373:doEvent1,[(440,423)(440,465)])
link(Index,6611607:Var2,[])
}
Add(DoData,1914943,505,410)
{
Data=Integer(1)
link(onEventData,10860403:doWork2,[])
}
Add(Hub,16046770,454,410)
{
link(onEvent1,1914943:doData,[])
link(onEvent2,7866816:doWork1,[(493,423)])
}
Add(DoData,14512583,505,459)
{
Data=Integer(0)
link(onEventData,10860403:doWork3,[(549,465)])
}
Add(Hub,16074373,454,459)
{
link(onEvent1,14512583:doData,[])
link(onEvent2,7866816:doWork2,[])
}
Add(GetDataEx,13183465,258,287)
{
link(Data,6670343:Var3,[(264,194)])
}
Add(HubEx,10860403,545,410)
{
Angle=3
link(onEvent,3822691:doVisible,[(549,388)(353,388)(353,328)])
}
Add(IndexToChanel,9753109,385,522)
{
Point(Index)
link(onEvent1,11088695:doEvent1,[])
link(onEvent2,5881460:doEvent1,[(447,535)(447,577)])
link(Index,10639939:Var2,[])
}
Add(DoData,11973397,512,522)
{
Data=Integer(1)
link(onEventData,3131362:doWork2,[])
}
Add(Hub,11088695,461,522)
{
link(onEvent1,11973397:doData,[])
link(onEvent2,9443105:doWork2,[])
}
Add(DoData,15862776,512,571)
{
Data=Integer(0)
link(onEventData,3131362:doWork3,[(564,577)])
}
Add(Hub,5881460,461,571)
{
link(onEvent1,15862776:doData,[])
link(onEvent2,5287506:doWork2,[])
}
Add(HubEx,3131362,560,522)
{
Angle=3
link(onEvent,3822691:doEnable,[(564,376)(359,376)(359,356)])
}
Add(IndexToChanel,2438377,175,394)
{
Point(Index)
link(onEvent1,1269436:doData,[])
link(onEvent2,15627511:doData,[(223,407)(223,443)])
link(Index,6611607:Var1,[(181,369)])
}
Add(DoData,1269436,242,394)
{
Data=String(INVISIBLE)
link(onEventData,532180:doWork1,[(306,400)])
}
Add(DoData,15627511,242,437)
{
Data=String(VISIBLE)
link(onEventData,532180:doWork3,[(306,443)])
}
Add(IndexToChanel,1305323,182,503)
{
Point(Index)
link(onEvent1,8905695:doData,[])
link(onEvent2,5814867:doData,[(230,516)(230,558)])
link(Index,10639939:Var1,[(188,383)])
}
Add(DoData,8905695,247,503)
{
Data=String(DISABLE)
link(onEventData,10416295:doWork1,[(306,509)])
}
Add(DoData,5814867,247,552)
{
Data=String(ENABLE)
link(onEventData,10416295:doWork3,[(306,558)])
}
Add(HubEx,10416295,302,522)
{
link(onEvent,8388962:doCaption,[])
}
Add(HubEx,532180,302,410)
{
link(onEvent,2280899:doCaption,[])
}
Add(Hub,14290044,133,394)
{
InCount=2
link(onEvent1,2438377:doEvent,[(161,400)(161,400)])
link(onEvent2,1305323:doEvent,[(161,407)(161,509)])
}
Add(GetDataEx,6611607,378,364)
{
link(Data,3822691:isVisible,[])
}
Add(GetDataEx,10639939,385,378)
{
link(Data,3822691:isEnabled,[])
}
Add(HubEx,5287506,489,578)
{
Angle=1
link(onEvent,14290044:doEvent2,[(493,611)(121,611)(121,407)])
}
Add(HubEx,9443105,489,529)
{
Angle=1
link(onEvent,5287506:doWork1,[])
}
Add(HubEx,7866816,489,466)
{
Angle=1
link(onEvent,9443105:doWork1,[])
}
Add(Button,14325696,505,322)
{
Left=239
Top=1
Width=46
Hint="показать красную рамку по размерам выбранного окна"
Caption="РАМКА"
link(onClick,16649086:doData,[])
}
Add(DoData,16649086,560,322)
{
link(onEventData,8079205:onClick,[(628,328)(628,27)])
link(Data,1573466:Var3,[(566,292)])
}
Add(GetDataEx,1573466,371,287)
{
Angle=3
link(Data,13183465:Var3,[])
}
Add(SendMessage,13856255,216,241)
{
Message=1
WParam=1
Point(Message)
link(Handle,6670343:Var2,[(222,219)(222,219)])
link(LParam,5921510:Var1,[(236,201)])
link(Message,14141491:Value,[(243,213)(299,213)])
}
Add(GetDataEx,6670343,216,189)
{
Angle=3
link(Data,15501280:Text,[(197,194)])
}
Add(GetDataEx,5921510,272,196)
{
link(Data,4923117:Point,[])
}
END_SDK
Add(Hub,11542020,1971,707)
{
link(onEvent1,6384565:doData,[(2172,713)(2172,678)])
link(onEvent2,11217749:doWork1,[(2045,720)])
}
Add(DoData,11277991,2097,728)
{
link(onEventData,10678588:doEvent1,[])
link(Data,6835352:Var1,[(2103,565)])
}
Add(GetDataEx,6835352,2118,560)
{
link(Data,8671692:Var3,[(2124,260)])
}
Add(LineBreak,8589146,2097,770)
{
link(Out,10678588:doEvent2,[(2150,776)(2150,741)])
Primary=[6943409,-1635,-637]
}
Add(ChildForm,10169047,651,273)
{
}
BEGIN_SDK
Add(EditMulti,7968702,21,21)
{
VarCount=1
link(Var1,85298:Handle,[(27,186)(62,186)])
}
Add(MainForm,85298,56,119)
{
Left=35
Top=105
Width=155
Height=105
Color=16711935
Caption=""
BorderStyle=0
WindowsState=2
TransparentManager="1"
Point(Handle)
Point(doBringToFront)
}
Add(TransparentManager,16296710,189,119)
{
Name="1"
FormTranspColor=16711935
}
END_SDK
Add(GetDataEx,14866356,651,255)
{
link(Data,1735864:Value,[])
}
Add(Img_Rectangle,8649527,623,483)
{
Point2AsOffset=0
DrawSource=1
Size=2
Color=255
Point(Point1)
Point(Point2)
link(Bitmap,16606052:Var1,[(629,318)])
link(Point1,12997976:Point,[(643,471)(566,471)])
link(Point2,13682771:Point,[(650,471)(600,471)])
}
Add(PointXY,13682771,594,428)
{
link(X,1714651:Width,[(600,419)(580,419)])
link(Y,1714651:Height,[(607,413)(587,413)])
}
Add(GetDataEx,16606052,651,313)
{
link(Data,10169047:Var1,[])
}
Add(HubEx,8616526,602,301)
{
link(onEvent,8782812:doWork1,[(639,307)])
}
Add(Timer,887494,553,483)
{
Interval=10
Enable=1
AutoStop=2
link(onTimer,8649527:doDraw,[])
}
Add(StyleXP,8649876,210,70)
{
}
Add(Hub,14877233,406,140)
{
link(onEvent1,6943409:In,[(450,146)(450,139)])
link(onEvent2,7962996:doEvent1,[])
}
Add(HubEx,203949,518,315)
{
link(onEvent,1714651:doWinInfo,[])
}
Add(LineBreak,5938404,406,161)
{
link(Out,7962996:doEvent2,[(448,167)(448,160)])
Primary=[13422697,1817,567]
}
Add(HubEx,11217749,2041,728)
{
link(onEvent,11277991:doData,[])
}

карма: 0

0
Ответов: 215
Рейтинг: 14
#5: 2020-12-17 19:35:05 ЛС | профиль | цитата
Схема моя, но с её помощью не отыскать элементов управления в браузерах. По этому я и удалил сообщение постом выше.
карма: 3

0
Ответов: 5041
Рейтинг: 564
#6: 2020-12-17 20:18:08 ЛС | профиль | цитата
Sersey писал(а):
Есть ли способ узнать Handle элементов управления в таких программах. Конкретно меня интересуют браузеры

Ведь даже не стесняются таких вопросов задавать. Меня тоже интересует безопасный браузер, в котором можно делать onlain сделки, вводить пароли не опасаясь таких деятелей и т.д и т.п (хотя если Вы сударь хотя бы немного были осведомлены то при наличии у вас этих хендлов они вам ничего не ответят (ну или почти ничего) )
Ну не ужели нельзя сделать что то нужное и полезное.

Редактировалось 1 раз(а), последний 2020-12-17 20:18:27
карма: 5
0
Ответов: 496
Рейтинг: 14
#7: 2020-12-17 20:39:03 ЛС | профиль | цитата
Этот вопрос стар как мир. Хотел научится управлять сторонним современным браузером для своих программ, т.к. в ie уже практически ничего толком не работает. На других форумах нашел похожие и даже точно такие вопросы и понял, что ничего не получится
карма: 4

0
Ответов: 347
Рейтинг: 50
#8: 2020-12-17 20:42:51 ЛС | профиль | цитата
Sersey писал(а):
и понял, что ничего не получится

Узнать Handle элементов можно, но что это даёт.
Chrome Handles.PNG

Редактировалось 1 раз(а), последний 2020-12-17 20:51:19
карма: 9

0
Ответов: 5041
Рейтинг: 564
#9: 2020-12-17 20:48:01 ЛС | профиль | цитата
Sersey, ну ведь делал же свой, так управляй им. Либо делай плагины, API ведь для этого есть. (мышкой правда не получится)
карма: 5
0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)