Вверх ↑
Этот топик читают: Гость
Ответов: 1043
Рейтинг: 33
#1: 2012-01-06 18:12:00 ЛС | профиль | цитата

Скажите, почему при открытии папки, дочерний элемент не находиться???
Add(Message,11104535,511,119){
link(Message,13072631:Handle,[(517,107)(479,107)(479,157)(335,157)])
}
Add(Timer,3629281,84,105)
{
Interval=100
link(onTimer,16604061:doFind,[])
}
Add(FindWindow,16604061,147,105)
{
ClassName="CabinetWClass"
SkipParam=1
link(onFind,13506222:doCompare,[])
}
Add(If_else,13506222,217,105)
{
Op2=Integer(0)
link(onFalse,13072631:doFindChild,[(313,118)(313,125)])
}
Add(FindWindow,13072631,329,112)
{
ClassName="toolbarwindow32"
SkipParam=1
link(onFind,4682747:doCompare,[])
link(ParentHandle,16604061:Handle,[(335,100)(268,100)(268,149)(153,149)])
}
Add(If_else,4682747,434,112)
{
Op2=Integer(0)
link(onFalse,11104535:doMessage,[])
}



------------ Дoбавленo в 01.41:
И вот в этом примере, кнопка пуск не скрывается... :(
Add(MainForm,2367494,49,70){
Left=20
Top=105
Width=301
Height=166
Font=[Arial,8,0,0,1]
link(onCreate,4689185:doFind,[(166,90)(166,69)])
}
Add(Button,10463612,133,98)
{
Left=50
Top=35
Font=[Arial,8,0,0,1]
Caption="Hide"
link(onClick,16602065:doWork1,[(184,104)(184,132)])
}
Add(WinTools,8455869,287,126)
{
link(Handle,4689185:Handle,[])
}
Add(Button,9440968,133,147)
{
Left=50
Top=65
Font=[Arial,8,0,0,1]
Caption="Show"
link(onClick,16602065:doWork2,[(184,153)(184,139)])
}
Add(ChanelToIndex,16602065,203,126)
{
link(onIndex,8455869:doVisible,[])
}
Add(FindWindow,4689185,287,63)
{
ClassName="Shell_TrayWnd"
link(onFind,7131965:doFindChild,[(332,69)(332,191)(277,191)(277,223)])
}
Add(Button,15498815,133,245)
{
Left=170
Top=35
Font=[Arial,8,0,0,1]
Caption="Hide"
link(onClick,6189251:doWork1,[(184,251)(184,279)])
}
Add(WinTools,9410413,287,273)
{
link(Handle,7131965:Handle,[])
}
Add(Button,11824792,133,294)
{
Left=170
Top=65
Font=[Arial,8,0,0,1]
Caption="Show"
link(onClick,6189251:doWork2,[(184,300)(184,286)])
}
Add(ChanelToIndex,6189251,203,273)
{
link(onIndex,9410413:doVisible,[])
}
Add(FindWindow,7131965,287,210)
{
ClassName="Button"
}
Add(Label,6543902,21,7)
{
Left=35
Top=15
Width=59
Height=18
Font=[Arial,8,0,0,1]
Caption="Shell tray"
}
Add(Label,275373,126,7)
{
Left=150
Top=15
Width=60
Height=18
Font=[Arial,8,0,0,1]
Caption="Start button"
}



карма: 0

0
файлы: 2code_26456.txt [684B] [356], code_26457.txt [1.3KB] [407]
vip
#1.1контекстная реклама от партнеров
Ответов: 1821
Рейтинг: 168
#2: 2012-01-06 18:19:06 ЛС | профиль | цитата
ashkalov, в первом примере вы ищете по Capion, а надо по ClassName: code_26458.txt
Пример 2: тут, ИМХО, в Win7 кнопка старта не имеет класс Button.

карма: 5

0
файлы: 1code_26458.txt [720B] [353]
Ответов: 1376
Рейтинг: 197
#3: 2012-01-06 18:21:43 ЛС | профиль | цитата
ashkalov писал(а):
кнопка пуск не скрывается...
для ХР надо SkipParam=Caption
карма: 1

0
Ответов: 1043
Рейтинг: 33
#4: 2012-01-06 19:08:34 ЛС | профиль | цитата
sаmakacd писал(а):
ashkalov, в первом примере вы ищете по Capion, а надо по ClassName

sаmakacd, вы чего то путаете ?
В моем примере как раз поиск по классу. а в пункте SkipParam ставиться то что наоборот искать не нужно.
ваш пример тоже не реагирует никак


sаmakacd писал(а):
Пример 2: тут, ИМХО, в Win7 кнопка старта не имеет класс Button.

В семерке у этой кнопки тоже класс "Button" ПРОВЕРЕНО!

foksov писал(а):
для ХР надо SkipParam=Caption

у меня 7
карма: 0

0
Ответов: 1821
Рейтинг: 168
#5: 2012-01-06 19:25:55 ЛС | профиль | цитата
ashkalov писал(а):
поиск по классу
ashkalov, ничего не путаю, вам надо поиск по классу а вы ищете в схеме по заголовку.
карма: 5

0
Ответов: 1043
Рейтинг: 33
#6: 2012-01-07 00:49:34 ЛС | профиль | цитата
лан, тема закрыта сам уже сделал...
Получение имени папки сразу после открытия...

Вот... может кому пригодиться
Add(MultiElementEx,1776038,532,119)
{
link(onEventData,4841252:doMessage,[])
}
BEGIN_SDK
Add(EditMultiEx,9174938,21,21)
{
WorkCount=#23:doTimer=получить адресс|0:|
EventCount=#41:onEventData=Полный путь до открытой папки|
VarCount=#10:Item=хендл|
Width=783
Height=438
link(doTimer,16604061:doFind,[(109,27)(109,55)])
link(Item,15441677:Var1,[(27,89)])
}
Add(InlineCode,3528733,140,259)
{
WorkPoints=#6:doWork|
EventPoints=#7:onEvent|
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|17: lst:PstrList;|9: public|23: onEvent:THI_Event;|22: handle:THI_Event;|48: procedure doWork(var dt:TData; index:word);|5: end;|0:|14:implementation|0:|73:function EnumChildProc(Child_HWND:HWND; ParamL:LPARAM):boolean; stdcall; |6:begin |51: THiAsmClass(ParamL).lst.add(int2str(Child_HWND));|17: result := true;|4:end;|0:|29:procedure THiAsmClass.doWork;|5:begin|21: lst := newstrlist;|75: EnumChildWindows(ReadInteger(dt,Handle,0), @EnumChildProc,LPARAM(self));|34: _hi_OnEvent(onEvent, lst.text);|12: lst.free;|4:end;|0:|4:end.|
link(onEvent,3575803:doText,[(256,265)(256,230)])
link(Handle,15441677:Var2,[(146,170)(202,170)])
}
Add(ArrayEnum,1985613,280,315)
{
link(onItem,868336:doWinInfo,[])
link(Array,3575803:Array,[(286,281)(293,281)])
}
Add(WinInfo,868336,385,315)
{
link(onWinInfo,10660966:doCompare,[(422,321)(422,377)])
}
Add(If_else,10660966,462,371)
{
link(onFalse,7253045:doSplit,[])
link(Op1,13919753:Var2,[])
}
Add(GetDataEx,13919753,462,354)
{
Angle=3
link(Data,868336:Caption,[(398,359)])
}
Add(If_else,13506222,217,147)
{
link(onFalse,3528733:doWork,[(261,160)(261,212)(128,212)(128,265)])
}
Add(FindWindow,16604061,196,49)
{
ClassName="CabinetWClass"
SkipParam=1
link(onFind,13506222:doCompare,[(292,55)(292,111)(184,111)(184,153)])
}
Add(StrList,3575803,273,203)
{
link(onChange,1985613:doEnum,[(317,209)(317,282)(268,282)(268,321)])
}
Add(StrPart,7253045,560,378)
{
Char=":"
DirectEvent=0
link(onSplit,7653266:doValue,[(642,384)(642,342)])
link(onPart,7934777:doCompare,[])
link(Str,13919753:Var3,[(566,359)])
}
Add(If_else,7934777,665,385)
{
Op2=String(Адрес)
link(onTrue,13423522:doData,[])
}
Add(Memory,7653266,721,336)
{
}
Add(DoData,13423522,721,385)
{
link(onEventData,9174938:onEventData,[(779,391)(779,27)])
link(Data,7653266:Value,[])
}
Add(GetDataEx,15441677,196,84)
{
link(Data,16604061:Handle,[])
}
END_SDK
Add(Keyboard,10095413,112,140)
{
Key=1
link(onReadKey,787608:doEvent,[])
}
Add(IndexToChanel,787608,217,140)
{
Data=Integer(1)
link(onEvent1,16627404:doCompare,[(299,146)(299,139)])
link(onEvent2,7282103:doWork2,[(282,153)(282,76)])
}
Add(Timer,5133296,42,140)
{
Interval=0
link(onTimer,10095413:doReadKey,[])
}
Add(Memory,8272905,315,70)
{
Default=Integer(0)
}
Add(If_else,16627404,315,133)
{
Op2=Integer(1)
link(onTrue,5514013:doEvent1,[])
link(Op1,8272905:Value,[])
}
Add(Hub,5514013,378,133)
{
link(onEvent1,2253771:doData,[(406,139)(406,104)])
link(onEvent2,1626110:doTimer,[])
}
Add(HubEx,7282103,287,70)
{
link(onEvent,8272905:doValue,[])
}
Add(DoData,2253771,420,98)
{
Data=Integer(0)
link(onEventData,7282103:doWork3,[(464,104)(464,92)(291,92)])
}
Add(Message,4841252,609,119)
{
link(Caption,1776038:Item,[(622,107)(580,107)(580,163)(538,163)])
}
Add(Timer,1626110,427,140)
{
Interval=350
link(onTimer,15154006:doEvent1,[])
}
Add(Hub,15154006,462,140)
{
link(onEvent1,1776038:doTimer,[(504,146)(504,125)])
link(onEvent2,1626110:doStop,[(487,153)(487,179)(415,179)(415,153)])
}




[flood]Схема не стабильна и тестировалась на win 7. можно подкорректировать, и будет конфетка [/flood]
карма: 0

0
Ответов: 5446
Рейтинг: 323
#7: 2012-01-07 12:14:27 ЛС | профиль | цитата
Мне одному такой подход кажется удалением гланд через максимально удалённое от них отверстие? Нужно либо использовать средства системы (точнее, файловой системы NTFS), либо маскировать программу-сейф под папку, а данные хранить рядом в зашифрованном виде.
карма: 1

0
Ответов: 1043
Рейтинг: 33
#8: 2012-01-07 19:24:26 ЛС | профиль | цитата
iarspider, кому как
------------ Дoбавленo в 19.24:
использовать средства системы

что вы имеете ввиду, например?
карма: 0

0
Ответов: 5446
Рейтинг: 323
#9: 2012-01-07 21:00:04 ЛС | профиль | цитата
ashkalov, ACL (Access Control List), многопользовательская работа (у каждого - свой логин, паролями не делимся).
карма: 1

0
Ответов: 3889
Рейтинг: 362
#10: 2012-01-07 23:31:32 ЛС | профиль | цитата
iarspider писал(а):
многопользовательская работа (у каждого - свой логин, паролями не делимся)

Для любителей сидеть под одним аккаунтом тут хватит всего двух записей, основная и защищённая, с паролем, собственно, намертво дав права на папку только второй учётной записи получим требование пароля самой системой при попытке туда заглянуть. Естественно, профессионалу это на один зуб, но Ваша, пардон, вообще декоративная.
карма: 1

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