Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Управление другой программой

490
13 октября 2007 года
frid-karatel
357 / / 15.09.2007
Необходимо реализовать такую задачу:
Есть программа, которая написана на BCB и не зажата никакими упаковщиками, поэтому есть возможность смотреть/изменять компоненты формы.

Так как получить исходный код никак не удается (имеется ввиду не ASM), необходимо как-то пеердавать ей команды, скрывая при этом ее присутствие.

Как можно нажать в ней определенный кнопки и получить значение Progressbar'а?

У меня есть некоторые варианты для размышления:
1. Можно использовать SendMessage()
2. Можно перетащить необходимы ASM-код себе в программу и с ним уже манипулировать...

Что подскажите?
602
13 октября 2007 года
KPI Student
265 / / 16.12.2006
1. Можно использовать SendMessage()
2. Можно перетащить ВЕСЬ ASM-код :)

Если серьезно - то SendMessage и для считывания хук на сообщения.
Я бы сделал так.
А возможно ли выложить сюда прогу? Вдруг кто захочет исследовать вместе с вами? Например, я...
490
14 октября 2007 года
frid-karatel
357 / / 15.09.2007
Асболютно всеми контролами управлять нельзя... Например, нельзя TLabel...

Но то, что мне нужно было, я сделал... вот примерный код:

Код:
HWND h, h1;
  h = FindWindow(NULL, "FormXXX");
  if (h != 0)
  {
    h1 = FindWindowEx(h, NULL, "TProgressBar", NULL);
    if (h1 != 0)
    {
      LRESULT l;
      l = SendMessage(h1, PBM_GETPOS, 0, 0);
      ShowMessage(l);
    } else
    {
      ShowMessage("FAILED 2");
    }
  } else
  {
    ShowMessage("FAILED 1");
  }


Его можно по-разному разширить - в зависимости от ситуации...

PS: использовал InqSoft Window Scanner для получения информации. Плюсы: русская версия и можно увидеть все возможные наборы команд (PBM_GETPOS, PBM_SETPOS и т.п.)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог