Программно нажать на кнопку

Тема в разделе "WASM.BEGINNERS", создана пользователем ActioN, 17 июл 2005.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Вот такой код исправно находит мессаджбокс с заголовком "Тест из 10 проходов", и нажимает на нём кнопку "Отмена" (оба слова - русские):


    Код (Text):
    1. hMsg = FindWindow(NULL,"Тест из 10 проходов");
    2. if (hMsg !=0){
    3.     hButton = FindWindowEx(hMsg, NULL, "button", "Отмена");
    4.     ctlID = GetDlgCtrlID(hButton);
    5.     SendMessage (hMsg, WM_COMMAND, ctlID, (LPARAM)hButton);
    6.     }




    Обрати внимание, что поиск по заголовку и по надписи на кнопке регистрозависимый, т.е. если на кнопке написано "Отмена", то поиск по "отмена" результата не даст. То же относится и к заголовку.
     
  2. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Да, ещё один момент: если это "горячая кнопка", то её caption может (и наверняка будет) выглядеть как "&Нет" или например "&Да" - это на примере мессаджбокса с тремя кнопками: да, нет, отмена.

    Соответственно, надо искать по "&Нет"
     
  3. ror

    ror New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2005
    Сообщения:
    7
    cresta

    всё решил траблу.

    кнопка была на русском написанно ОК а я думал на англ.