Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] AutoIt работа с памятью.

Ответить
Настройки темы
[решено] AutoIt работа с памятью.

Аватара для Belfigor

Пользователь


Сообщения: 87
Благодарности: 11

Профиль | Отправить PM | Цитировать


Изменения
Автор: Belfigor
Дата: 20-07-2009
Возник вопрос, могу ли я с помощью AutoIt не только считывать данные из памяти конкретного процесса, а зарезервировать в оперативной памяти n-ное количество ячеек которые будут хранить в себе определенные числа которые будут в режиме реального времени изменяться и далее считываться другим скриптом? Думал про работу через ini, но все же более интересен аспект работы с памятью

Или же если возможно то хотелось бы узнать можно ли структурировать по ячейкам буфер обмена, чтобы туда в определенные ячейки заносились данные одним скриптом и потом считывались другим скриптом. ClipGet ClipPut как я понял работает на весь буфер

ini не предлагать, решение проблемы с помощью ини я знаю, хотелось бы узнать можно ли работать так с памятью и или буфером обмена.

Отправлено: 22:18, 22-06-2009

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Не знаю на счёт памяти (уже не говорю о б.обмена), но пример интеракции между скриптами (через WM_COPYDATA) есть тут (также ещё один пример с использованием WM_COPYDATA есть тут, только в нём немного другая концепция).

Ну и простой пример интеракции:

Отправитель.au3:

Код: Выделить весь код
ControlSetText("[CLASS:AutoIt v3;TITLE:~MyAu3_Interaction_Window]", "", "Edit1", "My data")
Получатель.au3:

Код: Выделить весь код
AutoItWinSetTitle("~MyAu3_Interaction_Window")

While 1
    Sleep(10)

    $sData = ControlGetText("[CLASS:AutoIt v3;TITLE:~MyAu3_Interaction_Window]", "", "Edit1")

    If $sData <> "" Then
        ControlSetText("[CLASS:AutoIt v3;TITLE:~MyAu3_Interaction_Window]", "", "Edit1", "")

        MsgBox(64, @ScriptName & ' - Interaction recieved:', $sData)

        Exit
    EndIf
WEnd

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 00:00, 23-06-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Belfigor

Пользователь


Сообщения: 87
Благодарности: 11

Профиль | Отправить PM | Цитировать


Меня к сожалению интерисует интеракция именно по средством использования ячеек памяти или же дробления клипборда на ячейки

Отправлено: 01:04, 23-06-2009 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Можно поинтересоваться, к чему такая специфика?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 01:35, 23-06-2009 | #4


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Belfigor, в принципе можно расшарить кусок памяти, поименовать и сделать доступным другим процессам, хотя придется поковыряться в API... НО для начала нужно четко представлять алгоритм синхронизации доступа, т.к. одновременно открыть объект на запись сможет только один процесс, советую для начала реализовать через обыкновенные файлы

Отправлено: 10:20, 23-06-2009 | #5


Аватара для Belfigor

Пользователь


Сообщения: 87
Благодарности: 11

Профиль | Отправить PM | Цитировать


Creat0R, ну... Просто это два вида интеракции скриптов которые мне было бы интересно освоить.

amel27, спасибо, буду курить API. Синхронизация доступа достаточно простая, запись будет производить один единственный скрипт, остальные будут читать

Отправлено: 10:50, 23-06-2009 | #6


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Belfigor:
буду курить API »
учебный пример на Си есть в книге Рихтера, ЛИНК с оффсайта, удачи!
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:54, 23-06-2009 | #7


Аватара для Belfigor

Пользователь


Сообщения: 87
Благодарности: 11

Профиль | Отправить PM | Цитировать


Интеракцию между скриптами через память делаем через:

_MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')
_MemoryRead($iv_Address, $ah_Handle, $sv_Type = 'dword')

Последний раз редактировалось Belfigor, 29-07-2009 в 09:22.


Отправлено: 05:00, 20-07-2009 | #8


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Belfigor:
Интеракцию между скриптами через память процесса »
да, но это только половина операции, нужно еще как-то сообщить другому процессу о самом факте записи... опять же через сообщения, глобальные объекты ядра и т.п.

Отправлено: 09:11, 20-07-2009 | #9


Аватара для Belfigor

Пользователь


Сообщения: 87
Благодарности: 11

Профиль | Отправить PM | Цитировать


Согласен, и если кто-нибудь подскажет любую идею, я с радостью сяду и попытаюсь ее реализовать. Несмотря на то что в данный момент мой скрипт вполне выполняет возложенные на себя надежды.
P.S. На разных компьютерах память может определяться к процессу по разному. ПО этому хотелось бы что-бы кто-нибудь подсказал интеракции скриптов друг между другом чтобы они знали какой скрипт куда пишет свое значение.

Отправлено: 00:38, 21-07-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] AutoIt работа с памятью.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Delphi | Работа с памятью чужого процесса, перехват API Savant Программирование и базы данных 17 11-04-2012 13:06
Работа с LDAP в autoIT iDemon AutoIt 0 30-05-2009 15:50
Разное - [решено] Работа со списками на AutoIt Demka_DV AutoIt 3 14-05-2009 11:10
[решено] Проблема с памятью Quickly Материнские платы и память 2 13-11-2008 16:27
[решено] траблы с памятью Kazus Непонятные проблемы с Железом 15 24-05-2007 14:04




 
Переход