Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

PE Viewer 3.0
Goto page Previous  1, 2, 3 ... 11, 12, 13
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
BeTeP



Joined: 31 Mar 2005
Posts: 125
Location: Санкт-Петербург

Post (Separately) Posted: Sat Mar 22, 2025 17:12    Post subject: Reply with quote

Давно хотел написать, но всё времени не было.

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

В версиях плагина 3.0.16.х и ранее такой проблемки нет. На любом файле данные в этой вкладке появляются моментально.

ТС: 11.51 (х86)
ОС: Win 7 (x64) и Win 10 (x64).
_________________
«The Truth Is Out There»
Back to top
View user's profile Send private message
iteg



Joined: 01 Dec 2011
Posts: 95

Post (Separately) Posted: Sat Mar 22, 2025 23:24    Post subject: Reply with quote

BeTeP
Иногда такое замечал, но зависание было несколько секунд, а не десятков. Буду искать причину. Спасибо за участие в проекте.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 272

Post (Separately) Posted: Mon Mar 24, 2025 16:51    Post subject: Reply with quote

iteg
В целом какие-то чудеса получаются. И только лишь из-за того, что я собираю 2019 студией?
Собственно файл FontsListing у вас уже есть. Я же присылал вам его ранее. Вы же не удаляете такие файлы
и они же хранятся для перепроверки каких-то багов, для которых они и были присланы?
Он и другие были в присланном вам ссылкой архиве usedFiles.rar.

Но в нем я вижу именно то что описывал... Если что....
Сейчас попробую найти этот проект. Пересобрать всё заново.
Тут на саму студию за всё время пришло куча обновлений. Может что-то и было сломано/починено?

Касательно "Никакого упоминания 0x04E4 я тоже не нашел" - дык это же ваши изначально слова:
iteg wrote:
но можно явно задать. Например, в папке ТС 11.51 TC7Z64.DLL CP="0x04E4 (1252) (ANSI - Latin I)".

Т.е. это вы сами уже нашли и увидели эту пресловутую константу. А я лишь наоборот - пишу что именно и не могу ее найти.
Так если теперь мы найти в исходниках её не можем - то как вы в скомпилированном варианте "нашли"?
Ну, точнее плагин смог прочесть. Или Гислер вот прям наглухо спецом менял все подобные константы под себя что ли?

iteg wrote:
Если замените идентификатор IDR_VERSION2 на VS_VERSION_INFO, то получите такую же структуру

И это при пересборке учтем, чтобы уж точно понять - что и как можно воспроизводить и делать....

Добавлено спустя 2 минуты:

BeTeP wrote:
при просмотре цифровой подписи файла,


Беру тот же TotalCmd64.exe как пример - там есть подпись - и открываю соответствующую вкладку.
Секунды 2 понадобилось, чтобы она открылась.

И Винда и Тотал - 64 битные. Винда и 10 и 11.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 272

Post (Separately) Posted: Mon Mar 24, 2025 20:29    Post subject: Reply with quote

iteg
После пересборки вроде наверное бОльшая часть вопросов отошла.
Сейчас реально есть видимость и Английского И Русского языков.
И мы теперь реально можем показать древо версионности на энных языках,
спрятанных под одним лишь идентификатором VS_VERSION_INFO.

Но что осталось - это та самая кодовая страница)))
Ведь вроде как, подняв историю переписки тут, я вижу, что и в ваших тестах:
iteg wrote:
Добавлено: Сб Дек 28, 2024 15:43
.......
Тестовый пример:
LANGUAGE LANG_RUSSIAN, SUBLANG_NEUTRAL
//LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
//LANGUAGE LANG_RUSSIAN, SUBLANG_SYS_DEFAULT
//LANGUAGE LANG_RUSSIAN, 3
103 DIALOGEX 0, 0, 292, 218, 0
STYLE WS_POPUP | WS_BORDER
EXSTYLE WS_EX_RIGHT | WS_EX_RTLREADING | 0x00400000
CAPTION "Error!"
FONT 8, "MS Shell Dlg", 0
BEGIN
CTEXT "Select One:", 1, 10, 10, 280, 12
PUSHBUTTON "&Retry", 2, 75, 30, 60, 12
PUSHBUTTON "&Abort", 3, 75, 50, 60, 12
PUSHBUTTON "&Ignore", 4, 75, 80, 60, 12
END

- LANGUAGE LANG_RUSSIAN, SUBLANG_NEUTRAL
0x0019 (25) (Russian), 0x0000 (0) (ANSI - Cyrillic)
- LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
0x0419 (1049) (Russian (Russia)), 0x0000 (0) (ANSI - Cyrillic)
- LANGUAGE LANG_RUSSIAN, SUBLANG_SYS_DEFAULT
0x0819 (2073) (Russian (Moldova)), 0x0000 (0) (ANSI - Cyrillic)
- LANGUAGE LANG_RUSSIAN, 3
0x0C19 (3097) (Language Neutral), 0x0000 (0) (ANSI - Cyrillic)

Для ресурса DIALOGEX изменяется только значение поля Language, а CodePage остается 0.

добиться контролируемого изменения значения этого Компонента - не удалось. Всегда 0.
И похоже, что макрос вида LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT отвечает ТОЛЬКО лишь
за факт смены/выставления языка, но никак не кодовой страницы ресурса.
Ну и далее вы пишите, что вроде как это нормально - по умолчанию так и есть. НО, типа, можно
вроде как и принудительно выставить то, что надо. И вот как раз приводите в пример:
Quote:
Например, в папке ТС 11.51 TC7Z64.DLL CP="0x04E4 (1252) (ANSI - Latin I)".

Но мы же видели, что в исходниках проекта этого значения нет! Возможно Гислер при компиляции под себя
ЧТО-ТО и ДОнастроил... НО вот вопрос тогда - ТАК ЧТО можно настраивать, чтобы это поле принимало реально
другие значения, а не этот раздражающий 0? В вашем тестовом примере WindowsAppTest тоже же всё с нулём.
Вот сможете что-то ЭДАК перевыставить в этом проекте, чтобы к примеру, так же СР=1252 получилось?
Ну, или для нас более ближний вариант - 866? Или вообще юникод 1200?

Вот что есть в инете:
 на инглише (я понимаю, что вы и так это знаете - скорее заметка для меня)

Т.е. "читать" вроде как это можно даже на уровне API. Ну а где же тогда храниться функционал "записи" этой инфы?
Что вот Гислер смог-таки это сделать.... Ведь этот пресловутый файл TC7Z64.DLL он-таки как-то собрал сам! А не взял откуда-то готовый.


Last edited by Destiny on Thu Apr 03, 2025 13:07; edited 1 time in total
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 272

Post (Separately) Posted: Tue Mar 25, 2025 12:59    Post subject: Reply with quote

Почему так хотелось бы с кодовыми страницами разобраться окончательно - потому как
ещё же и этим параметром обладает сам текст файла RC, в котором хранится эта инфа.
И для 1251 и 1200 - вроде всё нормально. Хотя странно, что это так.
А вот в более для нас всех предпочтительном варианте UTF-8 - начинаются проблемы...
И решение явно лежит в плоскости понятия кодовой страницы.
https://devblogs.microsoft.com/oldnewthing/20190607-00/?p=102569
https://stackoverflow.com/questions/71281527/changing-resource-encoding-from-windows-1252-to-unicode-utf-8-with-signatures

И вроде бы потому как компилятор все равно принудительно сохраняет всё в формате UTF-16LE (Unicode) в итоговом
бинарном виде - то вроде как получается предпочтительно использовать 1200....
НО очень хотелось бы UTF-8 (65001). А для этого надо тогда уметь ЧЁТКО и ТОЧНО для ресурсов задавать их кодовые
страницы. А не оставлять всё на откуп этому нулю-пустышке = ANSI-что-то-там по умолчанию....

P.S.
https://www.ryanliptak.com/blog/every-rc-exe-bug-quirk-probably/
интересненько излагает))))
Back to top
View user's profile Send private message
iteg



Joined: 01 Dec 2011
Posts: 95

Post (Separately) Posted: Sun Apr 20, 2025 19:54    Post subject: Reply with quote

Тестовая версия 3.0.17.3:
- Исправлена ошибка проверки валидности сертификатов.
- Для поля сертификата "Valid To" добавлена цветовая индикация валидности относительной текущего времени.
- Для цепочки сертификатов подписи и отдельного сертификата добавлена проверка на аннулирование. Проверка проводится по кэшу ОС без запросов в сеть.
- Внутренняя оптимизация кода.
https://www.upload.ee/files/17984417/wlx_peviewer_3.0.17.3.rar.html
Просьба к BeTeP и Destiny, проверить на зависание при просмотре цифровых подписей.

Добавлено спустя 13 минут:

Destiny
Если честно, то не доводилось устанавливать кодовую страницу для ресурса.
Смог найти следующее:
1) #pragma code_page(65001)
https://learn.microsoft.com/en-us/windows/win32/menurc/pragma-directives
2)
https://learn.microsoft.com/en-us/windows/win32/menurc/using-rc-the-rc-command-line-
3)
VS2022 Configuration Properties\Resources\Command Line\Additional Options = /c 1251
https://devblogs.microsoft.com/oldnewthing/20190607-00/?p=102569
4) Delphi Project Options\Building\Resource Compiler\Code page
Использование code_page или явное задание параметра ресурсному компилятору для VS 2022 или Rad Studio 12.2 (через проектные параметры или напрямую через консоль) к результату не привили.
Возможно на FreePascal можно сделать.
Если кто-то знает как сделать, то напишите здесь.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 272

Post (Separately) Posted: Sun Apr 20, 2025 22:50    Post subject: Reply with quote

Благодарю за попытку....
Вот в этом-то и цымус, что плагин/код/алгоритм вроде как вполне себе валидно умудряется
считывать эти "ненули" в некоторых случаях некоторых ресурсов.
А вот взять и выставить при компиляции мы почему-то не можем. И в итоге крякозяблы...

А что касается цифровых подписей - где смог - проверил и очень стабильно быстро получил просмотр.
Back to top
View user's profile Send private message
BeTeP



Joined: 31 Mar 2005
Posts: 125
Location: Санкт-Петербург

Post (Separately) Posted: Mon Apr 21, 2025 01:18    Post subject: Reply with quote

iteg
Проверил на нескольких файлах просмотр цифровых подписей. Пока все нормально.
Спасибо за исправление.
_________________
«The Truth Is Out There»
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 272

Post (Separately) Posted: Mon Apr 28, 2025 14:42    Post subject: Reply with quote

iteg
Есть директория %LOCALAPPDATA%\Microsoft\WindowsApps\
А в ней есть спецссылки типа IO_REPARSE_TAG_APPEXECLINK.
Сама Винда на глубоком уровне обрабатывает их. А нам, простым смертным,
даже и увидеть ничего нельзя. НО любопытство - двигатель прогресса!!
https://github.com/JFLarvoire/SysToolsLib/blob/master/Docs/Catalog.md
там есть утилита (и главное есть полный исходный код), которая уже
умеет "видеть" настоящие пути до реальных ЕХЕ файлов, которые же
и скрываются за нулевыми ссылками в этой директории: truename.exe.

Предложение - внести в плагин возможность УВИДЕТЬ правильные полные
пути до реальных ЕХЕ файлов, при попытке открыть путь-спецссылку вида
%LOCALAPPDATA%\Microsoft\WindowsApps\pwsh.exe, который должен сам
трансформироваться в настоящий путь до:
C:\Program Files\WindowsApps\Microsoft.PowerShell_7.5.0.0_x64__8wekyb3d8bbwe\pwsh.exe
Ну и далее плагин уже работает по своей прямой специальности...

просто из той библиотеки можно вытащить код, который уже корректно
разбирается со всеми этими IO_REPARSE_TAG_****

Ну и в плагине соответственно ввести новую строку в блоке информации,
которая бы описывала эту ситуацию.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 11, 12, 13
Page 13 of 13

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group