Alecs962Автор темы

Здравствуйте, не могу разобраться, можно ли растянуть кнопки в программе

Войдите на сайт для перехода по ссылке (2 ехе -шника, один распакованный), портативная с офсайта.[/spoiler]

Leserg

Цитата: Alecs962можно ли растянуть кнопки в программе

Привет,Alecs962. Кнопки растянуть можно, но при этом они будут растянуты все. Например, вот так

]

Ширина кнопок задана 100 пикселей, этого вполне достаточно. Как это сделать?

Для начала выясни размер кнопки на панели инструментов. Это можно сделать в графическом редакторе, например, Paint.NET. Вот что имеем

]

Размеры указаны в пикселях.

Теперь загрузи программу в отладчик OllyDbg (надеюсь, что ты умеешь с ним работать) и задай поиск всех текстовых строк. Среди них найди строку с надписями на кнопках. Я взял строку "BIOS Update". Перейди в отладчике на адрес обращения к этой строке. Чуть ниже будут идти инструкции установки размеров для всех кнопок на панели инструментов (как я удачно выбрал строку :D - случайность наверное) .

]

Под номером (1) - высота кнопки, под номером (2) - ширина. Вот её и нужно корректировать. Стань на эту инструкцию, затем щелкни на значении инструкции правой кнопки мышки, выбери в контекстном меню команду "Modify...", в поле Float введи желаемое значение и подтверди ввод.

]

Сохрани сделанные изменения в новый файл. Готово.

В файле HWiNFO32.exe, который находится в предлагаемом тобой архиве, можно напрямую подкорректировать значение в НЕХ-редакторе. Загрузи файл в WinHEX (или свой любимый НЕХ-редактор), перейди на смещение 00290170 и измени байты 80 51 40 на 00 59 40, что соответствует 100 пикселям в десятичной системе:

]

Напоминаю, что эти действия верны только для текущей версии файла. В другой версии приложения адрес будет другой и его нужно будет искать при помощи отладчика.

Если планируешь заниматься поддержкой локализации этой программы в дальнейшем, то можешь сделать небольшой патч (инструменты "AT4RE Patcher" или "diablo2oo2"s Universal Patcher" - осторожно, на них неадекватно реагируют антивирусные программы), для автоматизации работы. Для того же WinHEX"а можно написать сценарий, который будет выполнять необходимые действия автоматически.
Кто ищет, тот всегда найдет!

Alecs962Автор темы

ЦитироватьКнопки растянуть можно
Громадное СПАСИБО!!! За решение и подробности, совсем было отчаялся. :ok2:  
ЦитироватьЕсли планируешь заниматься поддержкой локализации этой программы в дальнейшем
Да они за неделю вторую бету выложили, пока на них тренируюсь. К финальной версии доделаю.

Alecs962Автор темы

Здравствуйте, закончил перевод финала 5.10 HWiNFO32, ожидая его работал с бетами. Но доделывая финал обнаружил опять новую бету
Войдите на сайт для перехода по ссылке
Эдак они не угомонятся, за ними просто не успеешь переделывать. Давно мучает вопрос о автоматизацации, понятно что частичной. Речь идет о программах, у которых ресурсы в ЖКС. Вот Leserg дал намек:
ЦитироватьЕсли планируешь заниматься поддержкой локализации этой программы в дальнейшем, то можешь сделать небольшой патч (инструменты "AT4RE Patcher" или "diablo2oo2"s Universal Patcher" - осторожно, на них неадекватно реагируют антивирусные программы), для автоматизации работы. Для того же WinHEX"а можно написать сценарий, который будет выполнять необходимые действия автоматически.

Можно немного подробней. Может это на сайте уже расписывалось, ткните носом - не нашел. Заранее благодарю.

WYLEK

ЦитироватьЭдак они не угомонятся, за ними просто не успеешь переделывать.

Для таких программ, что часто обновляются я переделываю через несколько версий. Не надо гнаться за новизной, выставляй что есть.

Leserg

ЦитироватьМожно немного подробней.
В данном конкретном случае я имел в виду автоматизацию правки кода размера элемента, чтобы не морочить каждый раз голову в отладчике. Смотри, на рисунке правки в НЕХ-редакторе, рамкой синего цвета выделена последовательность байт 00 00 00 00 00 80 51 40. Я не зря так её указал. Такая последовательность байт уникальная, встречается в файле только один раз! Вышла новая версия программы, делаете в проекте локализации подмену файла, обновляете проект, проверяете на наличие новых/изменённых строк, если нужно переводите их, создаете локализованный файл. Потом грузите его в НЕХ-редактор и выполняете операцию замены 00 00 00 00 00 80 51 40 на 00 00 00 00 00 00 59 40. Все. Время на локализацию 10-15 минут. Тем более, если версии выходят часто, то обычно ресурсы не изменяются, от силы может появится пару новых строк.

Но гнаться за каждым релизом я также не рекомендую. Бывает, что они выходят каждый день. А если вы занимаетесь поддержкой не одной программы, то вы просто физически не потяните все вместе. Начнёте делать ошибки и т.д. и т.п. Оно вам надо? Делайте пропуски.
Кто ищет, тот всегда найдет!

Alecs962Автор темы

21 июля 2017, 12:30:57 #6 Последнее редактирование: 08 декабря 2015, 04:31:59 от Alecs962
ЦитироватьВышла новая версия программы, делаете в проекте локализации подмену файла, обновляете проект, проверяете на наличие новых/изменённых строк, если нужно переводите их, создаете локализованный файл.
Вот этого еще не делал, каждый раз создавал новый проект и ручками перетаскивал, уходило времени дня 3. Век живи и учись. Спасибо за ответ!
По размеру все понял, думал что и со строками этот трюк автоподмены провернуть можно, код длинной строки (например всплывающее описание функционала) тоже уникален, это понятно что например - exit менять нельзя, она может быть в коде и интерфейсе. Я сейчас только понял, что сценарий получится больше , чем сама программа.

ЦитироватьДля таких программ, что часто обновляются я переделываю через несколько версий. Не надо гнаться за новизной, выставляй что есть.
Так и придется, спасибо! Проверю хорошенько и выложу.

Alecs962Автор темы

Здравствуйте. Вышла новая версия (финал) HWiNFO, есть в ней строки, которых нет в ресурсах или они берутся с системы. Вообщем логически они должны быть в ресурсах:



В датчиках также:



Ну и если есть Plug and Play, полностью раздела нет:


В архиве оригинал и распакованный .ехе, портатив. Войдите на сайт для перехода по ссылке

Alecs962Автор темы

Leserg
Вы мне очень помогли в растяжке кнопок в программе HWiNFO32-
просят перевод HWiNFO64. Перевел, с растяжкой ступор (ОС х64 у меня нет, пользуюсь набегами на чужом компе), значение hex 80 51 40 встречается лишь один раз, но изменение ничего не дает, хотя размер кнопок тот же, что и в HWiNFO32. Уже вышли на автора, чтобы он увеличил размер кнопок, но он видимо офигел от такой просьбы и молчит. 
Войдите на сайт для перехода по ссылке

Leserg

Цитата: Alecs962просят перевод HWiNFO64

Alecs962, действуем аналогично, но вместо OllyDbg берем x64Dbg. (Если нет 64-бит ОС, можно поставить виртуальную при помощи VmWare или VirtualBox).
Грузим в отладчик, задаем поиск строки "BIOS Update" и переходим к ней в код.

Рис. 1
]

Значения размеров заданы числами с плавающей запятой одиночной точности. В этом отладчике нет конвертера чисел с плавающей запятой, поэтому воспользуемся онлайн конвертерами:

Войдите на сайт для перехода по ссылке

Войдите на сайт для перехода по ссылке

Например, мы хотим сделать ширину кнопок 100 пикс. Идем к конвертеру DEC to HEX (float) и получаем значение — 42C80000.

Рис. 2
]

Переворачиваем байты в обратном порядке — 0000C842. Этими данными заменяем текущие (по факту нужно изменить только один байт). Сохраняем изменения в файле.

Или открываем файл программы в НЕХ-редакторе, задаем поиск сигнатуры 0000584200008C42 (она одна в файле) и меняем байт 8C на C8.

Рис. 3
]

Если автор по вашей просьбе не изменит размеры кнопок, то эту сигнатуру можно использовать в последующих версия программы (только для 64-бит редакции).
Кто ищет, тот всегда найдет!

Alecs962Автор темы

Цитата: Lesergдействуем аналогично, но вместо OllyDbg берем x64Dbg

В x64Dbg и заблудился, Вы даже ответили на вопрос который не задал - почему в коментариях x64Dbg нет размера в пикселях, как в OllyDbg.
Цитата: LesergВ этом отладчике нет конвертера чисел с плавающей запятой

Спасибо огромное, все как всегда доходчиво и понятно!

gazon01

Цитата: LesergЕсли нет 64-бит ОС, можно поставить виртуальную при помощи VmWare или VirtualBox

помню мы уже разговаривали с Alecs962 о виртуалке, он сказал что HWiNFO64 там не отрабатывает должным образом (не может проверить её работу)

Alecs962 я же тебе помошника подкинул на руборде, пусть тестирует и в картинках ошибкинедочеты кидает
Возможно всё! На невозможное просто требуется больше времени.
 Мудрец из Шангри Ла

Alecs962Автор темы

Цитата: gazon01HWiNFO64 там не отрабатывает должным образом

Да, верно. Эта программа работает напрямую с железом, в виртуалке к железу прямого доступа нет.
Цитата: gazon01я же тебе помошника подкинул на руборде

Уже скинул ему, он тестит.

gazon01

Цитата: Alecs962Уже скинул ему, он тестит.

Войдите на сайт для перехода по ссылкетебе в помощь оставили, видел?
Возможно всё! На невозможное просто требуется больше времени.
 Мудрец из Шангри Ла

Alecs962Автор темы

21 июля 2017, 12:43:48 #14 Последнее редактирование: 05 июля 2017, 05:01:56 от Alecs962
Цитата: gazon01тут тебе в помощь оставили, видел?

Видел. Файлы _lng.ini весят от 2 до 4 кб, речь идет об лишних пары десятков этих файликов. К чему раздувать код, сортировать, если они не мешают. Там выше объяснял уже это.

* Ваши права на сайте

    Light Portal

  • Вы можете просматривать элементы портала
  • Вы не можете управлять блоками
  • Вы не можете управлять своими страницами
  • Вы не можете размещать свои страницы без модерации

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

Яндекс.Метрика Каталог@MAIL.RU - каталог ресурсов интернет