[fpc-pascal] Function to know if WIN is 32 or 64
Marcos Douglas
md at delfire.net
Wed Mar 16 12:18:41 CET 2011
On Wed, Mar 16, 2011 at 12:56 AM, Robert Wolfe <wolfe.robwolfe at gmail.com> wrote:
> On 3/15/2011 10:25 AM, Marcos Douglas wrote:
>>
>> On Tue, Mar 15, 2011 at 11:13 AM, Henry Vermaak<henry.vermaak at gmail.com>
>> wrote:
>>>
>>> On 15 March 2011 14:05, Marcos Douglas<md at delfire.net> wrote:
>>>>
>>>> Is there some function to know if the Windows is 32 or 64?
>>>
>>> You can use the GetNativeSystemInfo function. Check
>>> TSystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64 to
>>> see if it's 64 bit.
>>
>> What unit?
>>
>>
>> I've used this function in Delphi (7) and didn't work:
>> function is64bitOS: boolean;
>> var
>> SysInfo: TSystemInfo;
>> begin
>> GetSystemInfo(SysInfo);
>> Result := (
>> (Sysinfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64)
>> or (Sysinfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64)
>> );
>> end;
>>
>>
>> Marcos Douglas
>> _______________________________________________
>> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>
>
> Not sure this will work for you or not, but here is what I use:
>
> Program OSType ;
>
> Uses SysUtils;
>
> Begin ;
>
> WriteLn ;
> {$IFDEF WIN32}
> WriteLn ('This is a 32-bit version of Windows.') ;
> {$ENDIF$}
> {$IFDEF WIN64}
> WriteLn ('This is a 64-bit version of Windows.') ;
> {$ENDIF}
>
> End.
>
> The value returned, however, depends on whether the 32-bit compiler of the
> 64-bit cross-compiler was used.
Interesting. But I think not works on my case. The compiler is 32-bits
but Windows can vary.
Marcos Douglas
More information about the fpc-pascal
mailing list