Вверх ↑
Этот топик читают: Гость
Ответов: 108
Рейтинг: 14
#1: 2009-04-14 16:48:35 ЛС | профиль | цитата
Печитал всю справку,так и не нашел как сделать. Есть приложение,которое запускает моя программа.Надо скрыть все её окна,они появляются переодически.В элементе запуска Mode SW_HIDE - не прокатывает.Но сложность в том,чтобы передать данные (цифры) из одного из окон этого приложения, даже не представляю как это можно сделать,если можно вообще...Постараюсь немного понятнее объяснить,моя программа запускает приложение, появляется окно с полем в котором набор чисел - вот эти числа надо передать моей программе да и ещё чтоб все окна преложения были скрыты.
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2009-04-14 16:52:21 ЛС | профиль | цитата
А можно ли эту "твою" программу и то, что она запускает?( в схеме)
карма: 10
0
Администрация
Ответов: 15295
Рейтинг: 1519
#3: 2009-04-14 16:59:57 ЛС | профиль | цитата
без схемы тут не разберешься чего сколько и откуда запускается
карма: 27
0
Ответов: 108
Рейтинг: 14
#4: 2009-04-14 17:11:07 ЛС | профиль | цитата
вот так тоже не работает, потому как окно программы появляется не сразу, а скрытие выполняется сразу как экзешник в процессах появился.Тоесть надо сделать чтою она уже запускалась без окон.

Вот схема

code_12767.txt
карма: 0

0
файлы: 1code_12767.txt [774B] [109]
Разработчик
Ответов: 4698
Рейтинг: 426
#5: 2009-04-14 17:20:37 ЛС | профиль | цитата
Зачем мучать прогу! Просто вместо всего этого поставь в св-ах main form visible=false у той проги которую запускаешь!
карма: 10
0
Ответов: 108
Рейтинг: 14
#6: 2009-04-14 17:22:03 ЛС | профиль | цитата
врядли получится,потому как запускаю прогу, которая написана не с помошью HiAsm

хорошо,как мне сделать постоянный цикл поиска этого окна, и по скрытию его остановку, тоесть пусть он ишет постоянно окно с заданным именем и как тока оно появится - скрывает его и завершает поиск?
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#7: 2009-04-14 17:23:06 ЛС | профиль | цитата
А вот та прога которая принимает данные:
code_12768.txt
А вот та которая данные отправляет
code_12769.txt
карма: 10
0
файлы: 2code_12768.txt [772B] [123], code_12769.txt [671B] [132]
Ответов: 108
Рейтинг: 14
#8: 2009-04-14 17:25:53 ЛС | профиль | цитата
Assasin, спасибо,но это не то. мне надо как то выцепить данные из окна программы,которую я запускаю.как их отправлять и принимать я знаю))
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#9: 2009-04-14 17:26:34 ЛС | профиль | цитата
Да... впиши в запуске проги имя от code 12769.txt
------------ Дoбавленo в 17.27:
Опередил
------------ Дoбавленo в 17.28:
Тогда это вопрос не ко мне, насколько я понимаю, то никак, если прога не на HIAsm...
карма: 10
0
Ответов: 485
Рейтинг: 86
#10: 2009-04-14 18:03:07 ЛС | профиль | цитата
ebripsy писал(а):
моя программа запускает приложение, появляется окно с полем в котором набор чисел - вот эти числа надо передать моей программе да и ещё чтоб все окна преложения были скрыты.

ebripsy, слушай сюда Запускаешь свою программу. Находишь главное окно запущенной программы, потом дочернее с нужными данными и посылаешь ему сообщение WM_GetText:
code_12770.txt
Это для считывания данных.
карма: 0

0
файлы: 1code_12770.txt [1.1KB] [107]
Ответов: 108
Рейтинг: 14
#11: 2009-04-14 18:26:53 ЛС | профиль | цитата
супер!Разобрался,но только он мне выдаёт результат - только текст заголовка окна.наверное надо как то по другому соединять?



Add(Memory,781247,414,88)
{
@Hint=#15:Длина сообщения|
}
Add(SendMessage,6884336,365,88)
{
Message=13
WParam=255
link(onSend,781247:doValue,[])
}
Add(InlineCode,4592546,303,88)
{
@Hint=#10:WM_GETTEXT|
WorkPoints=#6:doWork|
EventPoints=#6:onSend|8:onResult|
DataPoints=#3:Len|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|9: private|8: public|20: onSend:THI_Event;|22: onResult:THI_Event;|17: Len:THI_Event;|49: procedure doWork(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|18:var x:string[255];|0:|29:procedure THiAsmClass.doWork;|5:begin|37: _hi_onEvent(onSend,integer(@x[1]));|35: SetLength(x,ToIntegerEvent(Len));|37: _hi_CreateEvent(_Data,@onResult,x);|4:end;|0:|4:end.|
link(onSend,6884336:doSendMessage,[])
link(onResult,9065312:doAdd,[(360,101)(360,153)])
link(Len,781247:Value,[(309,78)(355,78)(355,135)(420,135)])
}
Add(Button,1433222,252,88)
{
Left=285
Top=185
link(onClick,4592546:doWork,[])
}
Add(RichEdit,9065312,385,147)
{
Left=25
Top=100
Width=220
Height=140
}

------------ Дoбавленo в 19.59:
с помощью вот такой схемы - вычесляю handle элемента из которого мне нужно получить текст.Но проблема в том что handle окна имеет постоянное имя,тогда как handle элемента - цифры и каждый раз разные.Не могу понять,возможно ли вычеслить постоянный "Заголовок" элемента,либо сделать както автоматизированно поиск всех элементов окна и вывод текста с них?

вот схема для вычесления handle (но тока под мышкой показывает).

Add(MainForm,10899554,196,119)
{
Left=10
Top=10
Position=1
}
Add(Timer,5013873,98,119)
{
Interval=100
link(onTimer,11578177:doData,[])
}
Add(MouseEvent,7174544,133,63)
{
Point(Handle)
}
Add(DoData,11578177,147,119)
{
link(onEventData,10899554:doCaption,[])
link(Data,7174544:Handle,[])
}



тоесть основное окно имеет постоянный заголовок,который можно указать программе как handle, но тогда она возвращает только текст заголовка,а мне надо текст из нескольки полей...
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#12: 2009-04-14 20:22:46 ЛС | профиль | цитата
handle это числовой идентификатор любого интерфейсного элемента, а не текстовый
карма: 27
0
Ответов: 3851
Рейтинг: 159
#13: 2009-04-14 21:13:29 ЛС | профиль | цитата
ebripsy, можно попробовать программно провести мышкой по нужному элементу окна..
карма: 0
начавший
0
Ответов: 108
Рейтинг: 14
#14: 2009-04-14 21:29:30 ЛС | профиль | цитата
всё,уже сделал)
------------ Дoбавленo в 21.31:
остался вопрос по поводу скрытия окна. как сделать неприрывный цикл поиска окна по заголовку?(более подробно вопрос описан ы моих постах выше)
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2009-04-14 22:33:32 ЛС | профиль | цитата
по таймеру очевидно
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)