|
接触的少,自从 脚本能解决 问题,我很少编译程序了。
进入 V 时代,就更不咋接触了
判断 uefi 的,我暂时 这样解决了。
用 GetFirmwareEnvironmentVariableW 读取 buf 的 还是 没搞明白。
-
- ENVI$# &ret=*4 0 //申请4个窄字符空间,也可以用 ENVI$ &ret=*2 0 //申请2个宽字符空间
- CALL $--qd --bool --ret:&&r Kernel32.dll,GetFirmwareType,*&ret
- FIND $%&&r%=,
- {*
- //为空,可以认为没有返回数据,当前环境不支持此API,低于Win8版本的系统
- //MESS. 不支持此API。
- CALL $ --ret:r Kernel32.dll,GetFirmwareEnvironmentVariableW,"",{00000000-0000-0000-0000-000000000000},0,0
- CALL $ --ret:mode1 Kernel32.dll,GetLastError, ""
- IFEX $%mode1% = 1 ,mess Legacy! find $%mode1%=998 ,mess UEFI ! mess Unknow
- }!
- {*
- IFEX #%&&r%=0,MESS API Error.!
- {*
- ENVI?int &ret=&ret1
- IFEX #%&ret1%=0,MESS Unknow0。
- IFEX #%&ret1%=1,MESS legacy
- IFEX #%&ret1%=2,MESS UEFI
- IFEX #%&ret1%=3,MESS Unknow9
- }
- }
复制代码 |
|