본문 바로가기
IT정보/하드웨어

Windows 운영 체제 버전 및 빌드 정보 Delphi로 알아내기

by MonoSoft 2023. 6. 19.
728x90
반응형

Windows 운영 체제 버전 및 빌드 정보 Delphi로 알아내기

 

728x90

 

 

Delphi는 Object Pascal을 사용하는 통합 개발 환경으로,

Windows API를 활용하여 시스템 정보를 얻을 수 있습니다.

 

아래에는 Delphi에서 Windows 시스템 정보를 가져오기 위한

샘플 소스 코드와 해당 내용을 상세히 설명해 드리겠습니다.

 

uses
  Windows, SysUtils;

function GetSystemInfo: string;
var

  OSVersionInfo: TOSVersionInfo;
  ComputerName: array[0..MAX_COMPUTERNAME_LENGTH] of Char;
  ComputerNameLen: DWORD;

begin
  // 운영 체제 정보 가져오기
  OSVersionInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
  GetVersionEx(OSVersionInfo); // 컴퓨터 이름 가져오기

  ComputerNameLen := MAX_COMPUTERNAME_LENGTH + 1;
  GetComputerName(ComputerName,   ComputerNameLen);
  Result := Format('운영 체제: %s %d.%d Build %d'#13#10 + '컴퓨터 이름: %s',

                                 [OSVersionInfo.szCSDVersion, OSVersionInfo.dwMajorVersion,
                                  OSVersionInfo.dwMinorVersion, OSVersionInfo.dwBuildNumber,
                                  ComputerName]);

end;

// 사용 예시
procedure TForm1.Button1Click(Sender: TObject);
begin

  ShowMessage(GetSystemInfo);
end;

 

이 샘플 코드는 GetSystemInfo 함수를 통해

운영 체제 정보와 컴퓨터 이름을 가져옵니다.

 

 

TOSVersionInfo 구조체를 사용하여 운영 체제 버전 및 빌드 번호를 가져옵니다.

 

또한 GetComputerName 함수를 사용하여 컴퓨터 이름을 가져옵니다.

마지막으로, Format 함수를 사용하여 문자열을 구성하고 결과를 반환합니다.

사용자 인터페이스에는 ShowMessage 함수를 사용하여 시스템 정보를 표시합니다.

 

 

 

Windows와 SysUtils 유닛을 사용하여 필요한 기능을 불러옵니다.

GetSystemInfo 함수를 정의합니다. 이 함수는 시스템 정보를 문자열 형태로 반환합니다.

TOSVersionInfo 구조체를 선언합니다. 이 구조체는 운영 체제 정보를 저장하는 데 사용됩니다.

ComputerName 배열과 ComputerNameLen 변수를 선언합니다.

이들은 컴퓨터 이름을 저장하는 데 사용됩니다.

 

GetVersionEx 함수를 호출하여 OSVersionInfo에 운영 체제 정보를 채웁니다.

이를 통해 운영 체제 버전, 빌드 번호 및 플랫폼 ID 등을 얻을 수 있습니다.

 

GetComputerName 함수를 호출하여 컴퓨터 이름을 가져옵니다.

Format 함수를 사용하여 운영 체제 정보와 컴퓨터 이름을 포맷팅한 문자열을 생성합니다.

함수의 결과로 구성된 문자열을 반환합니다.

사용자 인터페이스 이벤트(예: 버튼 클릭)에 해당하는 코드를 작성하여

GetSystemInfo 함수를 호출하고 결과를 표시합니다.

위의 예시 코드를 통해 Delphi에서 Windows 시스템 정보를

가져오는 방법을 알 수 있습니다.

 

이를 활용하여 필요한 시스템 정보를 얻고, 적절하게 활용할 수 있을 것입니다.

728x90
반응형

댓글