обмен данными между процессами.

Тема в разделе "WASM.WIN32", создана пользователем Euler, 26 янв 2011.

  1. Euler

    Euler New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2009
    Сообщения:
    56
    Здравствуйте, задача следующая- написать приложение, которое подгружает к процессам свою dll и потом обменивается данными с этими процессами. Подскажите пожалуйста, как лучше реализовать этот обмен данными? Я хочу использовать сообщение WM_COPYDATA, но в этом случае придётся в каждом процессе создавать окно, и я боюсь, что это может сильно сказаться на производительности.
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    По-моему, самое правильное -- использовать разделяемую память + примитивы синхронизации.
     
  3. kernel16

    kernel16 Human Vl

    Публикаций:
    0
    Регистрация:
    29 окт 2010
    Сообщения:
    316
    Угу. скажется. и ещё можно сокет открыть или в файл писать. это тоже скажится.

    элс. можно через врайт процесс мемори писать другой программе прямо в память что-либо
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    а почему бы вам не использовать любой механизм межпроцессного взаимодействия?)))
    http://msdn.microsoft.com/en-us/library/aa365574(v=vs.85).aspx

    ЗЫ хватит уже малварь программировать)
     
  5. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
  6. Euler

    Euler New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2009
    Сообщения:
    56
    Всем спасибо за ответы. Оказалось, что лишние несколько окон почти никак не сказываются на производительности :) . В итоге я решил использовать WM_COPYDATA для передачи данных моему процессу, а в обратном направлении через пайп(спасибо XshStasX).
    Удалять гланды через любое доступное отверстие- это плохая идея.