1 (изменено: rdfhnbhf, 2012-04-08 22:05:55)

Тема: AHK: Не правильно определяется classNN

Метры нужна срочная помощь новичку. Есть чудная программа индексации документов на локальном компьютере Archivarius 3000  Нужно получить значение в ее контроле listbox первая строчка в спиcке (см. http://dl.dropbox.com/u/19827584/ris.jpg). Натравливаю Active Window Info, Windows Spy на ее окно Контрол с результатами поиска видится как occ1, окно Archivarius как ahk_class kac http://dl.dropbox.com/u/19827584/ris1.jpg

DetectHiddenWindows, on
; -----эта часть работает: запускаем поиск на локальном компьютере с archivarius под руководством Ahk
controlsettext, edit6,% "",ahk_class kac 
controlsettext, edit6,%clipboard%,ahk_class kac
controlsend, edit6,{Enter},ahk_class kac
; ----- конец работающей части
; -----Далее требуется считать первую (она же віделенная) 
ControlGet, OutputVar, List, Selected, occ1, ahk_class kac
msgbox % Outputvar

Имеем Outputvar - пустой.

Помогите любыми методами выковырять первую строчку, содержащую имя и путь файла из результатов поиска этой чудной проги Archivarius
Плиз поставьте себе  это чудо http://www.likasoft.com/ru/download.shtml и помогите хоть через COM или как-либо считать с контрола occ1 значение

2

Re: AHK: Не правильно определяется classNN

Убрал «Профи помогите: » из заголовка темы. С остальным справились.

3

Re: AHK: Не правильно определяется classNN

Я не профи, поэторму сделал бы так.
Запускать после выделения файла в архивариусе:

f11::
send, ^{vk45}   ; Ctrl + E
WinWaitActive, ahk_class ExploreWClass
clipboard =
Send, ^{vk43}   ; Ctrl + C
ClipWait, 2
if ErrorLevel
{
   MsgBox, Буфер обмена пуст!
   Return
}
msgbox %clipboard%

4

Re: AHK: Не правильно определяется classNN

Тут не запустить файл найденный Archivarius требуется, а лишь считать к файлу в переменную. То что на рисунке (выше) обведено в occ1 черным - путь к файлу + имя файла.
Помогите!!

5

Re: AHK: Не правильно определяется classNN

А тут ничего и не запускается.
Ctrl+E открывает его в эксплорере.

6 (изменено: rdfhnbhf, 2012-04-10 10:01:42)

Re: AHK: Не правильно определяется classNN

Спасибо, что хоть кто-то отвечает.

Но есть проблема - большие затраты по времени: решение через ahk_class ExploreWClass забирает приблизительно 2 сек . А нужно выковырять путь к файлу, который нашел Archivarius, моментально, еще и не показывать окно этого самого Explorer .

Задача: некоторый текст А, копируемый с веб-страницы, необходимо вносить в файл В (*.htm) наиболее близкий по содержанию к этому самому тексту А - "Knowledge base на основе файловой системы". При общем числе файлов htm в Knowledge base более 10000.

Идея: пусть Archivarius моментально (благо он это делает) предлагал файл наиболее близкий по содержанию к тексту А.

Теперь представьте, с одной страницы в интернете в среднем хотим внести в Knowledge base около 20 цитат. Тогда, решение через ahk_class ExploreWClass   займет 20*2 = 40 сек. А это уже много.

Плиз, нужно решение которое выковыряет строчку из  Archivarius, содержащую путь к файлу находящемуся в первой позиции по схожести (верхний в списке результатов см. рис.) менее чем за 0.2 сек.

7

Re: AHK: Не правильно определяется classNN

А нужно выковырять путь к файлу, который нашел Archivarius, моментально, еще и не показывать окно этого самого Explorer .

Чем он вам мешает?
В конце скрипта его можно закрыть.

Но есть проблема - большие затраты по времени: решение через ahk_class ExploreWClass забирает приблизительно 2 сек

Вы что-то путаете.

002: Send,^{vk45} (0.02)
003: WinWaitActive,ahk_class ExploreWClass (0.25)
004: clipboard =
005: Send,^{vk43} (0.01)
006: ClipWait,2 (0.05)
007: if ErrorLevel 
012: WinClose,ahk_class ExploreWClass (0.13)

Можно конечно ещё посылать Alt+p, тыкать мышей в нужные координаты и копировать путь.
Либо копировать без шортката "выделенное в клипбоард" и потом уже его разбирать.

8

Re: AHK: Не правильно определяется classNN

не показывать окно этого самого Explorer

представьте если перед вами веб страница с которой вы копируете цитаты - вы хотите видеть только эту страницу, а тут по 20 раз всплывает затем прячется explorer  - нет однозначно выводить Explorer на экран нельзя

большие затраты по времени: решение через ahk_class ExploreWClass забирает приблизительно 2 сек

весьма не торопливо стартует Explorer

Help Неужели нет др. решений в области Sendmessage, hwnd, COM, Control

9 (изменено: rdfhnbhf, 2012-04-10 21:02:18)

Re: AHK: Не правильно определяется classNN

Обнаружилась интересная вещь:

если ухватится мышью за иконку файла из списка результатов (контрол occ1) в окне Archivarius (Drag), потянуть и отпустить на контрол textbox на GUI Autohotkey и обработать событие GUIDropFiles - то значение параметра A_GuiEvent как раз и соответствует полному имени и пути потянутого файла. А собственно и есть это наша целевая переменная.

А как теперь эту процедуру Drag-n-Drop перетаскивания файла из списка результатов Archivarius на GUI Autohotkey сделать не вручную а программно средствами Autohotkey??? Предупреждаю, что при сворачивании окна Archivarius контролы имеют плавающие позиции относительно окна Archivarius, т.е послать Sendmessage по координатам вряд ли получится.

И так. Поскольку еще никто не предложил рабочего варианта считать данные контрола occ1 в окне Archivarius методом GontrolGet или ControlGetText, может быть кто-то сможет хоть решить задачу программным перетаскиванием Drag-n-Drop файла из Archivarius на textbox GUI Autohotkey

10

Re: AHK: Не правильно определяется classNN

Эксплорер совсем необязательно открывать на весь экран.
Достаточно окошечко уменьшить до состояния пилюли и сунуть в какой-нибудь угол десктопа - так никто его и не увидит.
А то что эксплорер открывается медленно, то это вообще удивительно.
У меня на файлопомойке с кучей всякого мусора - десятые доли секунды.
Дефрагментировались давно?