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

Discussion in 'WASM.WIN32' started by Euler, Jan 26, 2011.

  1. Euler

    Euler New Member

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

    Mika0x65 New Member

    Blog Posts:
    0
    Joined:
    Jul 30, 2005
    Messages:
    1,384
    По-моему, самое правильное -- использовать разделяемую память + примитивы синхронизации.
     
  3. kernel16

    kernel16 Human Vl

    Blog Posts:
    0
    Joined:
    Oct 29, 2010
    Messages:
    316
    Угу. скажется. и ещё можно сокет открыть или в файл писать. это тоже скажится.

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

    Rel Well-Known Member

    Blog Posts:
    2
    Joined:
    Dec 11, 2008
    Messages:
    5,317
    а почему бы вам не использовать любой механизм межпроцессного взаимодействия?)))
    http://msdn.microsoft.com/en-us/library/aa365574(v=vs.85).aspx

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

    XshStasX New Member

    Blog Posts:
    0
    Joined:
    Aug 9, 2008
    Messages:
    991
  6. Euler

    Euler New Member

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