
Add(MainForm,10623783,399,343)
{
Width=374
Height=263
}
Add(Button,1566307,497,511)
{
Left=20
Top=5
Width=80
Caption="1) Запустить"
link(onClick,12004781:doExec,[])
}
Add(Memo,9143625,791,322)
{
Left=20
Top=40
Width=325
Height=170
ScrollBars=2
}
Add(WinExec,12004781,602,511)
{
FileName="notepad.exe"
Point(ProcessID)
link(onExec,6226847:doStrCat,[])
}
Add(LineBreakEx,6999316,791,511)
{
Caption="log"
}
Add(LineBreakEx,14378329,714,322)
{
Caption="log"
Type=1
link(OnEvent,9143625:doAdd,[])
}
Add(StrCat,6226847,742,511)
{
Str1="Программа запущена. ProcessID="
link(onStrCat,6999316:doWork,[])
link(Str2,15650714:getVar,[])
}
Add(LineBreakEx,13490202,602,560)
{
Caption="PID1"
Type=3
link(_Data,12004781:ProcessID,[])
}
Add(LineBreakEx,15650714,749,476)
{
Caption="PID1"
Type=2
}
Add(Button,16415230,504,700)
{
Left=120
Top=5
Width=90
Caption="2) Найти окно"
link(onClick,1869417:doEnum,[])
}
Add(WinEnum,1869417,581,700)
{
VisibleOnly=1
Point(ClassName)
link(onFindWindow,601793:doWinInfo,[])
}
Add(WinInfo,601793,658,700)
{
Point(ProcessID)
link(onWinInfo,14654414:doCompare,[])
link(Handle,1869417:Handle,[(664,688)(626,688)(626,744)(587,744)])
}
Add(If_else,14654414,749,700)
{
link(onTrue,13621504:doStrCat,[])
link(Op1,3070410:getVar,[])
link(Op2,9304673:getVar,[])
}
Add(LineBreakEx,16432563,672,749)
{
Caption="PID2"
Type=3
link(_Data,601793:ProcessID,[])
}
Add(LineBreakEx,9304673,756,651)
{
Caption="PID2"
Type=2
}
Add(LineBreakEx,3070410,749,630)
{
Caption="PID1"
Type=2
}
Add(LineBreakEx,16299757,868,700)
{
Caption="log"
}
Add(StrCat,13621504,819,700)
{
Str1="Окно найдено. Заголовок: "
link(onStrCat,16299757:doWork,[])
link(Str2,601793:Caption,[(832,688)(813,688)(813,780)(671,780)])
}
В общем, слежение за программой можно организовать значительно проще.

Add(MainForm,2953706,21,105)
{
Position=1
}
Add(Button,1566307,238,224)
{
Left=20
Top=5
Width=120
Caption="Запустить и следить"
link(onClick,14589106:doStart,[])
}
Add(WinExec,12004781,476,224)
{
FileName="notepad.exe"
RunEvent=1
Point(ProcessID)
link(onExec,320100:doSynchronize,[])
}
Add(Button,1320274,273,231)
{
Left=145
Top=5
Width=100
Caption="Прекратить"
link(onClick,14589106:doStopFlag,[])
}
Add(Thread,14589106,350,224)
{
link(onExec,12004781:doExec,[])
}
Add(Memo,9143625,343,105)
{
Left=20
Top=40
Width=325
Height=170
ScrollBars=2
}
Add(LineBreakEx,14378329,266,105)
{
Caption="log"
Type=1
link(OnEvent,9143625:doAdd,[])
}
Add(Synchronize,320100,553,224)
{
link(onSync,9126657:doData,[])
}
Add(LineBreakEx,6999316,658,224)
{
Caption="log"
}
Add(DoData,9126657,609,224)
{
Data=String(Завершилась - повторяем запуск)
link(onEventData,6999316:doWork,[])
}