Что нового

[Автоматизация] Работа со "свёрнутой" игрой. Концепция не мешающего бота.

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Сколько тут всего.
Я не стал со всем этим мудрить и вникать ... Установил WMware? создал нормальный виртуальный комп. Пару раз клонировал и все... Можно на каждый свою задачу поставить и нет проблем вообще... Сам смотрю фильмы, играю, общаюсь в инете. Проблем нет...
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
xlgrgrc сказал(а):
Сколько тут всего. Я не стал со всем этим мудрить и вникать ... Установил WMware? создал нормальный виртуальный комп. Пару раз клонировал и все... Можно на каждый свою задачу поставить и нет проблем вообще... Сам смотрю фильмы, играю, общаюсь в инете. Проблем нет...
Можно и так, кому как удобнее и для каких задач. Не каждую проблему можно решить виртмашиной.
 

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Естественно не каждую... Если вопрос стоит в простых играх (флеш) или работа с браузером или программами то виртуальная машинга то что нужно... А если 3D игры тут конечно виртуалка не поможет...
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
xlgrgrc сказал(а):
Естественно не каждую... Если вопрос стоит в простых играх (флеш) или работа с браузером или программами то виртуальная машинга то что нужно... А если 3D игры тут конечно виртуалка не поможет...
Виртуалка помогает и в 3д играх. Другое дело что виртуалка не в состоянее запустить столько клиентов игры сколько хотелось бы. Тут на помощь и приходит управление скриптов в не кативном окне. А работа с браузером, флеш или программами как раз таки вроде и не требует ресурсоемкой виртмашины :smile:
 

anonymous7

Знающий
Сообщения
40
Репутация
8
У меня вот почему-то не работает:

Код:
#include <WindowsConstants.au3>
#include <WinAPIEx.au3>
#include <WinAPI.au3>
Global $hWnd = WinGetHandle('[CLASS:AutoIt v3 GUI]')
Func _detekt ($iX, $iY)
        Local $hDDC, $hCDC, $hBMP
        $iWidth = _WinAPI_GetWindowWidth($hWnd)
        $iHeight = _WinAPI_GetWindowHeight($hWnd)
        $hDDC = _WinAPI_GetDC($hWnd)
        $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
        $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight)
        _WinAPI_SelectObject($hCDC, $hBMP)
        DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", 0)
        $sColor = _WinAPI_GetPixel($hCDC, $iX, $iY)
        _WinAPI_ReleaseDC($hWnd, $hDDC)
        _WinAPI_DeleteDC($hCDC)
       _WinAPI_DeleteObject($hBMP) ; очищаем битовый массив
;~     Sleep(90)
        Return $sColor
EndFunc
MsgBox(0,'',$hWnd&' '&Hex(_detekt(799,361),6))


Win7x64.
 

edward_freedom

Осваивающий
Сообщения
200
Репутация
44
anonymous7
Укажи другой $hWndУ меня так все работает
Код:
Global $hWnd = WinGetHandle('[Автоматизация] Работа со "свёрнутой" игрой. Концепция не мешающего бота. - Opera')
 

anonymous7

Знающий
Сообщения
40
Репутация
8
Пробовал... всё время возвращает белый пиксель. Наверно это фрост во всём виноват, потому-что на косынке нормально получается. Возможно для 3D графики нужно как-то по другому это делать?
 

DStalker

Ботоводство+Мультибоксинг = время выспаться ;)
Сообщения
39
Репутация
2
... Остался не решённым вопрос с реализацией MouseClickDrag... если у кого то есть какие то мысли, предлагаю писать в этой теме, потому как вроде логическое продолжение.
Для того чтобы не блокировать мышь и реализовать перетаскивание, возможно прикрутить второй курсор, для второго скрытого окна?
Тем более что microsoft анонсировала ещё в 2010 году нечно на 25 мышей для одного экрана. Изначально проэкт был предназначен для бедных индийских школ...
Главная страница проекта:
http://www.microsoft.com/multipoint/mouse-sdk/
Инстальник:
http://www.microsoft.com/en-us/download/details.aspx?id=9962
Описание, как прикручивается мульти мыши:
http://download.microsoft.com/documents/rus/msdn/Windows_Multipoint_Mouse_SDK_FAQ.doc

В документации упоминается про библиотеки, с помощью которых система начинает понимать 2ю и последующие мыши.
• Microsoft.Multipoint.Sdk.dll
• Microsoft.Multipoint.Sdk.Controls.dll

Вообще возможно такое прикручивание библиотек средствами Autoit3 ?
 

running-frag

why me?
Сообщения
441
Репутация
60
Ну количество (хотя я не ковырялся в софте) мышей допустим решить можно. Но как же потеря фокуса? Перекрывание окон и прочее.
 

dimon0

Новичок
Сообщения
1
Репутация
1
Что мешает сделать из машины терминальный сервер(путем замены одной Dll). Создать нового пользователя. Подключиться к нему через RDP. Запустить игру и бота. Свернуть окно терминала и нормально работать..
 

lirikmel

Продвинутый
Сообщения
226
Репутация
84
Что мешает сделать из машины терминальный сервер(путем замены одной Dll). Создать нового пользователя. Подключиться к нему через RDP. Запустить игру и бота. Свернуть окно терминала и нормально работать..
ммм...по подробнее ?
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Что мешает сделать из машины терминальный сервер(путем замены одной Dll). Создать нового пользователя. Подключиться к нему через RDP. Запустить игру и бота. Свернуть окно терминала и нормально работать..

Если я правильно понимаю, то речь идёт о подключении ко второму компьютеру. Идея, imho, в рамках обсуждения данной кнцепции бесполезная, так как и без подключения через RDP на втором компьютере можно запустить бота, который не будет создавать помех для работы на основном компе.
 

lirikmel

Продвинутый
Сообщения
226
Репутация
84
нет не совсем идет речь подключения к своему же компу под другим пользователем через vmware НО как rdp протокол сможет передавать изображение dx приложения оО....
 

running-frag

why me?
Сообщения
441
Репутация
60
Re: [Автоматизация] Работа со \"свёрнутой\" игрой. Концепция не мешающего бота.

А какой вообще смысл этой концепции если идёт через VMWare?
Т.е. ставить вмварэ а после ещё и на себя коннектится? Как то это ... :scratch:
На нём можно и без RDP крутить бота + сворачивать как обычное окно...

Что я не уловил?

Если вы хотите "играть с работы" удалённо. Дык софта коннекта (аналоги РАдмин) вроде хватает, этого должно хватить что б запустить на дом. тазике бота и "поглядывать" на него.


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

C2H5OH [?]
Если я правильно понимаю, то речь идёт о подключении ко второму компьютеру. Идея, imho, в рамках обсуждения данной кнцепции бесполезная, так как и без подключения через RDP на втором компьютере можно запустить бота, который не будет создавать помех для работы на основном компе.
Вот если б на работе, на сервере запускать... Гы... :rofl: Там то железо покруче будет домашнего (ну сервер всё таки). Думаю именно в этом есть смысл, а так да... VMWare справляется.
 

Asshaker

Знающий
Сообщения
150
Репутация
17
running-frag [?]
Вот если б на работе, на сервере запускать... Гы... :rofl: Там то железо покруче будет домашнего (ну сервер всё таки). Думаю именно в этом есть смысл, а так да... VMWare справляется.
Не получится :smile: сервера не имеют "мощных" выдеокарт, они им просто без надобрости.
Поэтому слушайте Belfigora.
 

paulgator

Новичок
Сообщения
8
Репутация
1
Речь идет о замене termsvr.dll на патченую версию, что позволит подключиться к этому же компу через RDP нескольким пользователям. Виртуальная машина не требуется.
 

lirikmel

Продвинутый
Сообщения
226
Репутация
84
Речь идет о замене termsvr.dll на патченую версию, что позволит подключиться к этому же компу через RDP нескольким пользователям. Виртуальная машина не требуется.

каким образом будет игра то отображаться по rdp ?
 

Castellan

Новичок
Сообщения
32
Репутация
2
Вот попробовал код из первого поста подстроить под себя:
Код:
#include <WinAPIEx.au3>
Global $hWnd = WinGetHandle("хххххххх")
Global $hDDC, $hCDC, $hBMP, $sColor
Global $iX = 20, $iy = 720
AdlibRegister("_BitmapWin", 500)
Sleep ( 1000 )
_detekt ()
MsgBox (0, "cvet", $sColor, 20)
Func _detekt ()
        $sColor = _WinAPI_GetPixel($hCDC, $iX, $iY)
        Return $sColor
EndFunc
Func _BitmapWin()
    _WinAPI_DeleteDC($hCDC)
    _WinAPI_DeleteObject($hBMP) ; очищаем битовый массив
    $iWidth = _WinAPI_GetWindowWidth($hWnd)
    $iHeight = _WinAPI_GetWindowHeight($hWnd)
    $hDDC = _WinAPI_GetDC($hWnd)
    $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
    $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight)
    _WinAPI_SelectObject($hCDC, $hBMP)
    DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", 0)
    _WinAPI_ReleaseDC($hWnd, $hDDC)
EndFunc

Выводит цвет в виде 6-значной цифры (надо RGB), как это реализовать?
 

running-frag

why me?
Сообщения
441
Репутация
60
Код:
$_dec = PixelGetColor (0,0)
$_hex = Hex ($_dec, 6)

ConsoleWrite ("0x"& $_hex&@CR)
 
Верх