Что нового

[Процессы] выбор хендла кликом мыши в скрипте

bbk123

Новичок
Сообщения
14
Репутация
0
Собственно вот часть кода

Код:
$hWnd = wingethandle("Last Chaos")

     $PID1= WinGetProcess($hWnd,"")
   ;ConsoleWrite($PID)
   $mem1 = _MemoryOpen($PID1)


пид связан с хендлом и все адреса реагируют на хендл, проблема в том что когда запускается 2 окно игры, бот реагирует только на 1 , требуется кнопка определения окна (хендла окна) в САМОМ скрипте (Нажал - выбрал окно, программа работает на выбранное окно) Огромная просьба помочь , обыскал уже все что можно , в автоите сам не силен , по этому и обращаюсь)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 
Автор
B

bbk123

Новичок
Сообщения
14
Репутация
0
Ребятки выручайте :( нужна такая функция(
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
Код:
#include 'array.au3'
$list=WinList('Last Chaos')
_ArrayDisplay($list)

$list[1][1] - handle активного окна, если неактивно, то последнего запущенного.
 
Автор
B

bbk123

Новичок
Сообщения
14
Репутация
0
А так чтобы из этого листа выбрать процесс и бот начал работать?(
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
Здесть нет процессов, есть окна. В массиве содержаться заголовки окон и их handle. Ты понимаешь, что здесь написано $hWnd = wingethandle("Last Chaos")?
 
Автор
B

bbk123

Новичок
Сообщения
14
Репутация
0
это я понял что написал неверно, сглупил, но а как выбрать из этого списка окно ( кнопкой например select) после чего бот будет работать на выбранное окно? :-\
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
_ArrayDisplay - просто показывает, из него ничего не выберешь.
Код:
$list=WinList('Last Chaos')
$res=''
if $list[0][0]=0 then exit 1
for $i=1 to $list[0][0]
  $res&=WinGetProcess($list[$i][1])&@crlf
next
msgbox(0,'',$res)
 
Автор
B

bbk123

Новичок
Сообщения
14
Репутация
0
тогда поставлю впрос по другому , нужно прикрутить кнопку в боте , нажал на кнопку - нажал на нужное окно, бот работает на окно , как реализовать этот принцип?! :stars:
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
В начале бота WinGetProcess('[active]') - определяет pid активного окна. Остановил бота - тыкнул в окно - запустил бота.
 
Автор
B

bbk123

Новичок
Сообщения
14
Репутация
0
не совсем то , но тоже нормально=) спасибо)
 

illja

Знающий
Сообщения
30
Репутация
10
http://autoit-script.ru/index.php/topic,7707.msg54052.html#msg54052

Тут как раз кусок моей функции из бота для ласты
 
Верх