установка текста в окне из другого процесса

Тема в разделе "WASM.WIN32", создана пользователем iloq, 5 дек 2005.

  1. iloq

    iloq New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2005
    Сообщения:
    10
    Здравствуйте все!



    Можно ли из одного процесса установить текст в editbox'e, принадлежащего другому процессу, т.е. сделать так, чтобы данные отображались ( == попали в адресное пространство процесса )? Или это невозможно?
     
  2. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Я вот не телепат, говори с каой целью и опиши подробно, а то это можно понять двояко, можно просто посоветовать sendmessage.
     
  3. Sector

    Sector New Member

    Публикаций:
    0
    Регистрация:
    7 июл 2005
    Сообщения:
    49
    Адрес:
    Iceland
    сажаешь хук на WM_GETMESSAGE и когда длл попадёт на тот процесс который надо (если ты определяешь нужный процесс по имени файла то юзай GetCommandLine в дллке для определения имени файла в который загрузилась длл, или если по заголовку окна GetWindowText(GetActiveWindow(),.......)), а потом перечисляешь CHILD окна в ентом процессе:

    сначала GetActiveWindow,

    потом bWnd = GetWindow(tWnd, GW_CHILD)

    Do



    //тут берёшь класс или имя окна(эдит бокса)

    bWnd = GetWindow(bWnd, GW_HWNDNEXT)

    Loop



    вот и всё:)
     
  4. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    в эдитбокс писать можно. через
    Код (Text):
    1. invoke SendMessage,[hWnd],WM_SETTEXT,0,txtbuff


    точно. hWnd можно узнать через FindWindowEx/GetDlgItem
     
  5. Sector

    Sector New Member

    Публикаций:
    0
    Регистрация:
    7 июл 2005
    Сообщения:
    49
    Адрес:
    Iceland
  6. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    вот кусок кода, который применяется для вызова контекстной справки из мсдн: пишет прямо dexplore-ру в комбобокс панели "Index". без хуков и ремоут процессов ;)

    [​IMG] _568691156__solver.zip
     
  7. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    (Полфорума хором)WM_SETTEXT
     
  8. iloq

    iloq New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2005
    Сообщения:
    10
    Спасибо!

    А почему тогда с SetWindowText не получается?
     
  9. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Потому, что описание не читал:



    The SetWindowText function changes the text of the specified window's title bar (if it has one). If the specified window is a control, the text of the control is changed. However, SetWindowText cannot change the text of a control in another application.