Здравствуйте, умные люди.
Памагите пажалуста.
Кто-нибудь разбирается в реестре windows?
Есть задача — определить версию windows на уровне Win32 она или Win64.
Сделать это нужно удаленно, предпочтительно читая реестр удаленной машины.
Ну или как-нибудь вообще, лишь бы сделать.
Есть ли в реестре информация о разрядности системы?
В каком-то топике msdn-a годичной давности пользователю
предлагалось узнать это по процессору x86 или ia64,
тогда 64-х разрядная windows работала только на итаниумах и было все просто.
Счас она может работать и на не итаниумах и на амд,
а еще 32-х разрядная ос может работать на 64-х разрядном процессоре.
В общем нужна видимо какая-то инфа об ос, а не о процессоре.
Кто-нибудь знает, как ее достать из реестра?
Памагите, плииз!!!
Здравствуйте, comandante serge, Вы писали:
try it:
uses Windows, SysUtils;
function IsWow64: Boolean;
type
// Type of IsWow64Process API fn
TIsWow64Process = function(Handle: Windows.THandle;
var Res: Windows.BOOL): Windows.BOOL; stdcall;
var
IsWow64Result: Windows.BOOL; // Result from IsWow64Process
IsWow64Process: TIsWow64Process;
begin
// Try to load required function from kernel32
IsWow64Process := Windows.GetProcAddress(
Windows.GetModuleHandle('kernel32'), 'IsWow64Process');
if Assigned(IsWow64Process) then
begin
if not IsWow64Process(GetCurrentProcess, IsWow64Result) then
raise SysUtils.Exception.Create('IsWow64: bad process handle');
Result := IsWow64Result;
end
else
Result := False;
end;