Что нового

копировать текст меню когда на нем стоит курсор

jastreb

Новичок
Сообщения
17
Репутация
1
Можно ли скопировать текст меню когда на нем стоит курсор (см. скрин)?

c2c1168d05ac.jpg

7a5df20f9b01.jpg

093c202a87e5.jpg
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
jastreb,
У Вас картинки не совпадают.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
Можно попробовать так:

Код:
$iIndex = ControlTreeView('[CLASS:TnsMainWindow]', '', 'TnscTreeView1', 'GetSelected', 1)
$sItem = ControlTreeView('[CLASS:TnsMainWindow]', '', 'TnscTreeView1', 'GetText', $iIndex)

ClipPut($sItem)
 
Автор
J

jastreb

Новичок
Сообщения
17
Репутация
1
2:CreatoR
Что то у меня не получается, в буфер ничего не копируется, в буфере обмена пусто.
Видимо опять что то не так делаю.
Код:
Run("e:\Garant\Garant77\garant.exe")
Sleep(20000)
Send("{TAB 3}")
Sleep(2000)
Send("{ENTER}")
Sleep(2000)
Send("{DOWN}")
Sleep(4000)
$iIndex = ControlTreeView('[CLASS:TnsMainWindow]', '', 'TnscTreeView1', 'GetSelected', 1)
$sItem = ControlTreeView('[CLASS:TnsMainWindow]', '', 'TnscTreeView1', 'GetText', $iIndex)

ClipPut($sItem)

Sleep(2000)
run("notepad")
Sleep(3000)
send("^v")

Почитал хелп по функции ControlTreeView.
Еще такой вариант попробовал, ради эксперимента, возвращает из буфера 0.
Код:
Run("e:\Garant\Garant77\garant.exe")
Sleep(20000)
Send("{TAB 3}")
Sleep(2000)
Send("{ENTER}")
Sleep(2000)
Send("{DOWN}")
Sleep(2000)
Send("{TAB}")
Sleep(4000)
$iIndex = ControlTreeView('[CLASS:TnscTreeView]', '', 'INSTANCE:1', 'GetSelected', 1)
$sItem = ControlTreeView('[CLASS:TnscTreeView]', '', 'INSTANCE:1', 'GetText', $iIndex)

ClipPut($sItem)

Sleep(2000)
run("notepad")
Sleep(3000)
send("^v")
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
А если так:

Код:
$sItem = ControlTreeView('[CLASS:TnsMainWindow; TITLE:ГАРАНТ]', '', '[CLASS:TnscTreeView; INSTANCE:1]', 'GetSelected')

ClipPut($sItem)


?
:scratch:
 
Автор
J

jastreb

Новичок
Сообщения
17
Репутация
1
Без изменений :(
А в чем разница между
Код:
$iIndex = ControlTreeView('[CLASS:TnsMainWindow]', '', 'TnscTreeView1', 'GetSelected', 1)
$sItem = ControlTreeView('[CLASS:TnsMainWindow]', '', 'TnscTreeView1', 'GetText', $iIndex)

и
Код:
$sItem = ControlTreeView('[CLASS:TnsMainWindow; TITLE:ГАРАНТ]', '', '[CLASS:TnscTreeView; INSTANCE:1]', 'GetSelected')
ClipPut($sItem)



Добавлено:
Сообщение автоматически объединено:

А вот эта функция не подойдет?
_GUICtrlTreeView_GetTexthttp://autoit-script.ru/autoit3_docs/libfunctions/_guictrltreeview_gettext.htm
Хелп прочитал, но не понял как этой функцией пользоваться.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
jastreb [?]
Значит либо это не обычный TreeView, либо названия класов не правильно заданы (я не уверен что правильно рассмотрел на изображении).

А вот эта функция не подойдет?
Возможно:
Код:
#include <GUITreeView.au3>

$hTV = ControlGetHandle('[CLASS:TnsMainWindow]', '', '[CLASS:TnscTreeView; INSTANCE:1]')
$hItem = _GUICtrlTreeView_GetSelection($hTV)
$sText = _GUICtrlTreeView_GetText($hTV, $hItem)
 
Автор
J

jastreb

Новичок
Сообщения
17
Репутация
1
либо названия классов не правильно заданы
Классы написаны правильно, перепроверил на всякий случай.

Этот вариант тоже не помог.
На всякий случай проверил, что закидывает в буфер каждая переменная
У переменных $hTV - (к примеру 0x010904EC, при каждом запуске значение меняется)
$hItem - всегда 0x00000000
у $sText - в буфере пусто
И еще, мой косяк, забыл указать ось под которой все это должно крутиться. Windows 7 64 бита.
 
Верх