![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.09.2010
Сообщений: 47
|
![]()
Доброе время суток Вам знатоки.
Есть сторонняя прога с которой мне необходимо собрать данные для формирования отчета. Данную прогу прилагаю, установки не требует! для наглядности того, какие данные требуется получить, нужно через меню или иконки в виде папки открыть лежащий в корне программы файл *.blk Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Вместо WM_GETTEXT воспользуйтесь GetWindowText()
Если не сработает, тогда забейте - не тот уровень, судя по всему. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.05.2011
Сообщений: 57
|
![]()
BarsDG, структура BLK-файла несложная и понятная даже без реверса программы: несколько текстовых строк и несколько массивов типа double. Возьмите из файла первичные данные и обрабатывайте их как угодно. Будет проще, чем вытягивать их из окон чужого приложения.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 06.09.2010
Сообщений: 47
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 06.09.2010
Сообщений: 47
|
![]()
Согласен, но ведь он зашифрован или что то типа того... и я не знаю как эти данные перевести в логичный вид. Если можно, по подробнее объясните пожалуйста.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 12.05.2011
Сообщений: 57
|
![]()
Нет там никакого шифрования. Строки и двоичные данные записаны в файл, только и всего. И понять "устройство" файла можно даже на глаз.
Есть заголовок размером 448 байтов, в нём 11 40-байтовых строк и 2 4-хбайтовых целых числа. Есть 6 одинаковых блоков с данными, каждый размером по 256156 байтов. В каждом блоке есть свой 40-байтовый заголовок и 4 структуры по 64029 байтов. В каждой структуре есть свой 13-байтовый заголовок и массив из 8002 чисел типа double. Всё. Повторюсь, расположение данных можно понять, внимательно посмотрев на файл в хекс-редакторе. В данном случае даже не надо анализировать программу на предмет того, как она работает с файлом. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]() |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 06.09.2010
Сообщений: 47
|
![]()
Спасибо всем!!!
С Hex не смог разобраться, поэтому применил распознавание текста. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить handle стороннего окна системы | Foxpronet | Общие вопросы Delphi | 4 | 21.05.2015 10:21 |
Как получить данные из TVirtualStringTree, зная его Handle? | fedorov2012 | Общие вопросы Delphi | 30 | 05.07.2014 21:11 |
Получить Handle или PID из процесса в котором dll... | rangel | Win Api | 2 | 09.02.2012 12:44 |
Как получить Handle моей программы? | Eros | Общие вопросы C/C++ | 0 | 12.05.2010 19:29 |
Как получить данные с COM-порта или другого любого порта? | DeLure | Общие вопросы C/C++ | 5 | 20.09.2007 00:50 |