Как из lua-макроса определить битность системы?

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Как из lua-макроса определить битность системы?

Post by Shmuel »

Latest post of the previous page:

Самый простой способ - определить эту функцию как глобальную, то есть вместо
local function IsWindows64bit() написать function _G.IsWindows64bit().
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Как из lua-макроса определить битность системы?

Post by John Doe »

@DV
А можно пример выполняемого по условию действия?
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Как из lua-макроса определить битность системы?

Post by DV »

John Doe wrote: Fri 24 May, 2019 18:05А можно пример выполняемого по условию действия?
Примерно так:

Code: Select all

lua:if IsWindows64bit() then Programs_Run("ProcessHacker\\x64\\ProcessHacker.exe") else Programs_Run("ProcessHacker\\x86\\ProcessHacker.exe") end
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Как из lua-макроса определить битность системы?

Post by John Doe »

У вас выше по теме есть готовый батфайл, которым запустать такое будет прямее чем извраты на lua.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Как из lua-макроса определить битность системы?

Post by Smitis »

IgorZ wrote: Fri 24 May, 2019 05:14 По-моему, проще, чем через ffi.
Если не заморачиваться itanium, самое простое

Code: Select all

local x64 = (GetEnv("PROCESSOR_ARCHITEW6432") or GetEnv("PROCESSOR_ARCHITECTURE") or "")=="AMD64"
Но в любом случае это неправильно сработает на WinXP x64 для FAR x86 (там нет переменной PROCESSOR_ARCHITEW6432)

П.С.
В меню можно использовать

Code: Select all

if %PROCESSOR_ARCHITECTURE%%PROCESSOR_ARCHITEW6432%==x86 echo Windows x86
if not %PROCESSOR_ARCHITECTURE%%PROCESSOR_ARCHITEW6432%==x86 echo Windows x64
Last edited by Smitis on Sun 26 May, 2019 16:48, edited 2 times in total.
Разум когда-нибудь победит.
Post Reply

Return to “Нужна помощь”