Автор Тема: Коммуникация между процессами  (Прочитано 11612 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
AutoIt: 3.3.0.0
Версия: 1.1

Категория: Интеракция

Описание: Позволяет организовать коммуникацию между двумя и более процессами посредством передачи сообщений, основанной на WM_COPYDATA. При отправке сообщения другому процессу создается очередь сообщений, которые будут переодически посылаться указанному процессу через заданный интервал времени до тех пор, пока не будет получено подтверждение об успешном приеме сообщения. Таким образом, сообщения не будут потеряны в случае невозможности их приема программой-приемником. Библиотека может сильно упростить работу с подобного рода задачами, особенно для начинающих. Как все это работает показано в примере, приведенном ниже (перед запуском, код необходимо откомпилировать в исполняемый (EXE) файл).

Пример:
(нажмите для показа/скрытия)

Скриншот:


Источник:   Messages UDF (оффициальный форум)
Автор: Yashied
« Последнее редактирование: Март 29, 2010, 02:30:25 от Yashied, Причина: Поправка заголовка темы »


Думай, прежде чем говорить.

Русское сообщество AutoIt

Коммуникация между процессами
« Отправлен: Сентябрь 25, 2009, 10:50:28 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Коммуникация между процессами
« Ответ #1, Отправлен: Сентябрь 25, 2009, 11:31:04 »
Yashied
Хороший пример.

Но это разве библиотека? Это вроде больше к примерам подходит. И мне кажется оно больше относится к категории взаимодействие с процессам чем с окнамии, или просто «Интеракция» :).

P.S
Я немного подправил «Правила обязательного оформления публикаций», мне кажется нет причины дублировать название и в шапке темы, оно есть в заголовке.


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Коммуникация между процессами
« Ответ #2, Отправлен: Сентябрь 25, 2009, 12:45:52 »
Но это разве библиотека? Это вроде больше к примерам подходит.

А что же это еще? См. Messages.au3 в прикрепленных файлах. А пример он сам по себе.

:-\

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Коммуникация между процессами
« Ответ #3, Отправлен: Сентябрь 25, 2009, 13:03:46 »
Yashied [?]
Цитировать
А что же это еще? См. Messages.au3 в прикрепленных файлах
Я видел это, ещё раньше где то :)
Просто может мы неправильно определяем понятие библиотека/library... хотя раз уж UDF, то подразумивается любая пользователская функция...

Русское сообщество AutoIt

Re: Коммуникация между процессами
« Ответ #3 Отправлен: Сентябрь 25, 2009, 13:03:46 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Коммуникация между процессами
« Ответ #4, Отправлен: Сентябрь 25, 2009, 13:06:43 »
И кстати, пример бы не помешало прикреплять рядом с функцией (отдельным файлом, в архиве полагаю можно).

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Коммуникация между процессами
« Ответ #5, Отправлен: Сентябрь 25, 2009, 13:39:29 »
Я полагаю одна и более пользовательских функций, сгрупированных тематически и реализованных в отдельном файле. Или же: совокупность функций, организованных в отдельном модуле и предназначенных для реализации и поддержки общих задач.
« Последнее редактирование: Сентябрь 25, 2009, 13:54:41 от Yashied »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Коммуникация между процессами
« Ответ #6, Отправлен: Сентябрь 25, 2009, 18:27:10 »
Последний ответ перенес в раздел О форуме.

Оффлайн LapaM [?]

  • Новичок
  • *
  • Сообщений: 7
  • Репутация: 4
  • Пол: Мужской
    • Награды
[Ошибки] Re: Коммуникация между процессами
« Ответ #7, Отправлен: Сентябрь 24, 2010, 10:45:09 »
Подскажите пожалуйста, почему возникает такая ошибка:

Цитировать
*\Messages.au3(163,60) : ERROR: Opt() called with illegal argument 1: "OnExitFunc"
Global $OnMessagesExit = Opt('OnExitFunc', "OnMessagesExit")

Заранее благодарю

Русское сообщество AutoIt

[Ошибки] Re: Коммуникация между процессами
« Ответ #7 Отправлен: Сентябрь 24, 2010, 10:45:09 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: [Ошибки] Re: Коммуникация между процессами
« Ответ #8, Отправлен: Сентябрь 24, 2010, 12:08:40 »
Подскажите пожалуйста, почему возникает такая ошибка...

Потому что в новых версиях AutoIt нужно использовать

Код: AutoIt [Выделить]
OnAutoItExitRegister('OnMessagesExit')


вместо

Код: AutoIt [Выделить]
Global $OnMessagesExit = Opt('OnExitFunc', 'OnMessagesExit')


а в функции OnMessagesExit() удалить следующую строку

Код: AutoIt [Выделить]
Call($OnMessagesExit)


Я прекратил работу над этой UDF, ты можешь сам внести эти исправления для совместимости с новыми версиями AutoIt.

Оффлайн LapaM [?]

  • Новичок
  • *
  • Сообщений: 7
  • Репутация: 4
  • Пол: Мужской
    • Награды
Re: Коммуникация между процессами
« Ответ #9, Отправлен: Сентябрь 24, 2010, 12:49:37 »
Спасибо

Русское сообщество AutoIt

Re: Коммуникация между процессами
« Ответ #9 Отправлен: Сентябрь 24, 2010, 12:49:37 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
5 Ответов
4526 Просмотров
Последний ответ Август 09, 2010, 11:50:10
от Kalisnik
3 Ответов
2761 Просмотров
Последний ответ Август 23, 2010, 12:24:57
от axlwor
1 Ответов
3511 Просмотров
Последний ответ Декабрь 08, 2010, 08:51:03
от Redline
38 Ответов
18261 Просмотров
Последний ответ Ноябрь 06, 2012, 05:10:44
от joiner
4 Ответов
2699 Просмотров
Последний ответ Ноябрь 02, 2011, 22:55:00
от Max98
4 Ответов
4348 Просмотров
Последний ответ Март 22, 2017, 14:11:44
от mrsoros
2 Ответов
2123 Просмотров
Последний ответ Май 31, 2012, 15:25:36
от Dimmak
0 Ответов
2216 Просмотров
Последний ответ Октябрь 20, 2013, 21:56:17
от inververs
8 Ответов
3730 Просмотров
Последний ответ Июнь 26, 2014, 16:21:37
от joiner
1 Ответов
696 Просмотров
Последний ответ Март 16, 2018, 17:36:35
от Luciferkox