Как получить сведения о версиях Far и ОС в штатном случае?
Как получить сведения о версиях Far и ОС в штатном случае?
Периодически при обсуждении того или иного скрипта необходимо приводить информацию о том, в каких условиях проходило тестирование. А для этого желательно иметь возможность оперативно получить объективные сведения о версиях Far и об ОС. В случаях внештатных ситуаций такие сведения можно взять из красных диалогов исключений. А как их можно получить в штатном случае?
Как получить сведения о версиях Far и ОС в штатном случае?
Так весьма неудобно. И если вторую строку хотя бы и можно вывести в файл ver>ver.txt, то с far:about ни как не получается. И приходится информацию по Фару доставать, вручную прокручивая экран, а потом копируя через Alt+Ins.
А хотелось бы, всё-таки макросом в диалог выводить, а оттуда уже копировать куда требуется.
А хотелось бы, всё-таки макросом в диалог выводить, а оттуда уже копировать куда требуется.
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Как получить сведения о версиях Far и ОС в штатном случае?
citRiks,
Вариант (если нужен только 4-й элемент)
lua:=far.AdvControl("ACTL_GETFARMANAGERVERSION")
Вариант (если нужен только 4-й элемент)
lua:=({far.AdvControl("ACTL_GETFARMANAGERVERSION", true)})[4]
Last edited by buniak_a_h on Mon 30 Dec, 2019 11:35, edited 1 time in total.
Как получить сведения о версиях Far и ОС в штатном случае?
Так уже намного лучше. Макрос даже можно составить.
Но если сравнить получаемые таким образом сведения:
с выдаваемыми в диалоге исключения:
то сразу бросается в глаза отсутствие существенного указания на платформу в первом случае. По крайней мере, в данных, выдаваемых по far:about, такие сведения есть.
Но если сравнить получаемые таким образом сведения:
Code: Select all
3.0.0.5543.0
10.0.17763.914
Code: Select all
3.0.0.5543 x86 (6e9737a)
10.0.17763.2.0.0.256.1 (version 1809, OS build 17763.914)
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Как получить сведения о версиях Far и ОС в штатном случае?
citRiks, где-то мне встречался вопрос про то, как отличить в макросе x86 и x64 . Не могу вспомнить. А на самом деле вещь ну очень нужная: некоторые плагины просто НИЗЗЯ юзать под одной платформой (либо валятся, либо версия устарелая и не поддерживается), а под 32-р - замечательно. Так, мне пришлось отказаться от s&r для 32-р, хотя там он работал - просто чтоб набор макросов был для обеих платформ одинаковый. Впрочем, конкретно этот плагин уже и не жалко. Спиноза, похоже, решил сделать его платным …
Короче, может, найдёте … Сообщите.
Короче, может, найдёте … Сообщите.
Как получить сведения о версиях Far и ОС в штатном случае?
buniak_a_h, украдено мной отсюда:
viewtopic.php?t=9167
х32/х64 самого ФАРа:
lua:=jit.arch
lua:=win.IsProcess64bit()
lua:=win.GetEnv("PROCESSOR_ARCHITECTURE")
х32/х64 ОС:
lua:=win.GetEnv("PROCESSOR_ARCHITEW6432")
viewtopic.php?t=9167
х32/х64 самого ФАРа:
lua:=jit.arch
lua:=win.IsProcess64bit()
lua:=win.GetEnv("PROCESSOR_ARCHITECTURE")
х32/х64 ОС:
lua:=win.GetEnv("PROCESSOR_ARCHITEW6432")
Last edited by Xerox on Fri 03 Jan, 2020 10:36, edited 2 times in total.
Как получить сведения о версиях Far и ОС в штатном случае?
как вариант можно сделать что-то такое еще:
.. и получить что-то такое:
FileVer - это откуда-то из ms resourse kitс
или:edit:<filever.exe "%farhome%\far.exe" /v
.. и получить что-то такое:
Code: Select all
--a-- WAMD64 APP ENU 3.0.5532.0 shp 5,321,728 12-23-2019 far.exe
Language 0x0409 (English (United States))
CharSet 0x04b0 Unicode
OleSelfRegister Disabled
CompanyName Eugene Roshal & Far Group
FileDescription File and archive manager
InternalName Far
OriginalFilenam Far.exe
ProductName Far Manager
ProductVersion 3.0.0.5532 x64
FileVersion 3.0.0.5532 x64
LegalCopyright © Eugene Roshal, 1996-2000. © Far Group, 2000-2019
VS_FIXEDFILEINFO:
Signature: feef04bd
Struc Ver: 00010000
FileVer: 00030000:159c0000 (3.0:5532.0)
ProdVer: 00030000:159c0000 (3.0:5532.0)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004 NT Win32
FileType: 00000001 App
SubType: 00000000
FileDate: 00000000:00000000
Last edited by Xerox on Fri 03 Jan, 2020 10:51, edited 1 time in total.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Как получить сведения о версиях Far и ОС в штатном случае?
Определение Win x64 (начиная с Висты) независимо от разрядности FAR:
Ограничение: в WinXP x64 переменная PROCESSOR_ARCHITEW6432 отсутствовала, поэтому такая система определится как x86
Code: Select all
(win.GetEnv("PROCESSOR_ARCHITEW6432") or win.GetEnv("PROCESSOR_ARCHITECTURE") or "")=="AMD64"
Разум когда-нибудь победит.