Узнаем разрядность операционной системы (64 или 32 битная) на C++
Unit1.cpp
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { //Начало проверки разрядности системы typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); //Создайем тип данных LPFN_ISWOW64PROCESS fnWOW64PROCESS; //Win-API функция BOOL os64=False; //Наш логический тип данных os64 fnWOW64PROCESS=(LPFN_ISWOW64PROCESS) GetProcAddress (GetModuleHandle(TEXT("kernel32")),"IsWow64Process"); //Извлекаем //дескриптер указнного модуля if(NULL != fnWOW64PROCESS) { if (fnWOW64PROCESS (GetCurrentProcess(), &os64)) //Извлекаем текущий процесс { Label1->Caption=L"Ошибка"; } } //Конец проверки разрядности системы if (os64 == true) //Если ОС 64 { Label1->Caption=L"Ваша ОС 64 битная"; } else { Label1->Caption=L"Ваша ОС 32 битная"; } } //---------------------------------------------------------------------------
Unit1.h
//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <System.Classes.hpp> #include <Vcl.Controls.hpp> #include <Vcl.StdCtrls.hpp> #include <Vcl.Forms.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TLabel *Label1; private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif