IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11 Mart 2015, 11:01   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Windows Versiyonu öğrenmek (yeni)




Windows Versiyonu öğrenmek (yeni)

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
unit GetWinVersionInfo; type _OSVERSIONINFOEX = record dwOSVersionInfoSize : DWORD; dwMajorVersion : DWORD; dwMinorVersion : DWORD; dwBuildNumber : DWORD; dwPlatformId : DWORD; szCSDVersion : array[0..127] of AnsiChar; wServicePackMajor : WORD; wServicePackMinor : WORD; wSuiteMask : WORD; wProductType : BYTE; wReserved : BYTE; end; TOSVERSIONINFOEX = _OSVERSIONINFOEX; function GetVersionExA(var lpVersionInformation: TOSVersionInfoEX): BOOL; stdcall; external kernel32; const VER_NT_WORKSTATION :Integer = 1; VER_SUITE_ENTERPRISE :Integer = 2; VER_NT_SERVER :Integer = 3; VER_SUITE_DATACENTER :Integer = 128; VER_SUITE_PERSONAL :Integer = 512; const PRODUCT_BUSINESS = $00000006; {Business Edition} PRODUCT_BUSINESS_N = $00000010; {Business Edition} PRODUCT_CLUSTER_SERVER = $00000012; {Cluster Server Edition} PRODUCT_DATACENTER_SERVER = $00000008; {Server Datacenter Edition (full installation)} PRODUCT_DATACENTER_SERVER_CORE = $0000000C; {Server Datacenter Edition (core installation)} PRODUCT_ENTERPRISE = $00000004; {Enterprise Edition} PRODUCT_ENTERPRISE_N = $0000001B; {Enterprise Edition} PRODUCT_ENTERPRISE_SERVER = $0000000A; {Server Enterprise Edition (full installation)} PRODUCT_ENTERPRISE_SERVER_CORE = $0000000E; {Server Enterprise Edition (core installation)} PRODUCT_ENTERPRISE_SERVER_IA64 = $0000000F; {Server Enterprise Edition for Itanium-based Systems} PRODUCT_HOME_BASIC = $00000002; {Home Basic Edition} PRODUCT_HOME_BASIC_N = $00000005; {Home Basic Edition} PRODUCT_HOME_PREMIUM = $00000003; {Home Premium Edition} PRODUCT_HOME_PREMIUM_N = $0000001A; {Home Premium Edition} PRODUCT_HOME_SERVER = $00000013; {Home Server Edition} PRODUCT_SERVER_FOR_SMALLBUSINESS = $00000018; {Server for Small Business Edition} PRODUCT_SMALLBUSINESS_SERVER = $00000009; {Small Business Server} PRODUCT_SMALLBUSINESS_SERVER_PREMIUM = $00000019; {Small Business Server Premium Edition} PRODUCT_STANDARD_SERVER = $00000007; {Server Standard Edition (full installation)} PRODUCT_STANDARD_SERVER_CORE = $0000000D; {Server Standard Edition (core installation)} PRODUCT_STARTER = $0000000B; {Starter Edition} PRODUCT_STORAGE_ENTERPRISE_SERVER = $00000017; {Storage Server Enterprise Edition} PRODUCT_STORAGE_EXPRESS_SERVER = $00000014; {Storage Server Express Edition} PRODUCT_STORAGE_STANDARD_SERVER = $00000015; {Storage Server Standard Edition} PRODUCT_STORAGE_WORKGROUP_SERVER = $00000016; {Storage Server Workgroup Edition} PRODUCT_UNDEFINED = $00000000; {An unknown product} PRODUCT_ULTIMATE = $00000001; {Ultimate Edition} PRODUCT_ULTIMATE_N = $0000001C; {Ultimate Edition} PRODUCT_WEB_SERVER = $00000011; {Web Server Edition} PRODUCT_UNLICENSED = $ABCDABCD; {Unlicensed product} var {$EXTERNALSYM GetProductInfo} GetProductInfo: function (dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion: DWORD; var pdwReturnedProductType: DWORD): BOOL stdcall = NIL; function GetOSInfo: string; var NTBres, BRes: Boolean; OSVI: TOSVERSIONINFO; OSVI_NT: TOSVERSIONINFOEX; tmpStr: string; dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType : DWORD; begin Result := 'Error'; NTBRes := FALSE; try OSVI_NT.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFOEX); NTBRes := GetVersionExA(OSVI_NT); OSVI.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); BRes := GetVersionEx(OSVI); except OSVI.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); BRes := GetVersionEx(OSVI); end; if (not BRes) and (not NTBres) then Exit; Move( OSVI, OSVI_NT, SizeOf(TOSVersionInfo) ); case OSVI_NT.dwPlatformId of VER_PLATFORM_WIN32_NT: begin if OSVI_NT.dwMajorVersion <= 4 then Result := 'Windows NT '; if (OSVI_NT.dwMajorVersion = 5) and (OSVI_NT.dwMinorVersion = 0) then Result := 'Windows 2000 '; if (OSVI_NT.dwMajorVersion = 5) and (OSVI_NT.dwMinorVersion = 1) then Result := 'Windows XP '; if (OSVI_NT.dwMajorVersion = 6) and (OSVI_NT.dwMinorVersion = 0) then begin Result := 'Windows Vista '; if Assigned(GetProductInfo) then begin GetProductInfo( dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType ); case pdwReturnedProductType of PRODUCT_BUSINESS: tmpStr := 'Business Edition'; PRODUCT_BUSINESS_N: tmpStr := 'Business Edition'; PRODUCT_CLUSTER_SERVER: tmpStr := 'Cluster Server Edition'; PRODUCT_DATACENTER_SERVER: tmpStr := 'Server Datacenter Edition (full installation)'; PRODUCT_DATACENTER_SERVER_CORE: tmpStr := 'Server Datacenter Edition (core installation)'; PRODUCT_ENTERPRISE: tmpStr := 'Enterprise Edition'; PRODUCT_ENTERPRISE_N: tmpStr := 'Enterprise Edition'; PRODUCT_ENTERPRISE_SERVER: tmpStr := 'Server Enterprise Edition (full installation)'; PRODUCT_ENTERPRISE_SERVER_CORE: tmpStr := 'Server Enterprise Edition (core installation)'; PRODUCT_ENTERPRISE_SERVER_IA64: tmpStr := 'Server Enterprise Edition for Itanium-based Systems'; PRODUCT_HOME_BASIC: tmpStr := 'Home Basic Edition'; PRODUCT_HOME_BASIC_N: tmpStr := 'Home Basic Edition'; PRODUCT_HOME_PREMIUM: tmpStr := 'Home Premium Edition'; PRODUCT_HOME_PREMIUM_N: tmpStr := 'Home Premium Edition'; PRODUCT_HOME_SERVER: tmpStr := 'Home Server Edition'; PRODUCT_SERVER_FOR_SMALLBUSINESS: tmpStr := 'Server for Small Business Edition'; PRODUCT_SMALLBUSINESS_SERVER: tmpStr := 'Small Business Server'; PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: tmpStr := 'Small Business Server Premium Edition'; PRODUCT_STANDARD_SERVER: tmpStr := 'Server Standard Edition (full installation)'; PRODUCT_STANDARD_SERVER_CORE: tmpStr := 'Server Standard Edition (core installation)'; PRODUCT_STARTER: tmpStr := 'Starter Edition'; PRODUCT_STORAGE_ENTERPRISE_SERVER: tmpStr := 'Storage Server Enterprise Edition'; PRODUCT_STORAGE_EXPRESS_SERVER: tmpStr := 'Storage Server Express Edition'; PRODUCT_STORAGE_STANDARD_SERVER: tmpStr := 'Storage Server Standard Edition'; PRODUCT_STORAGE_WORKGROUP_SERVER: tmpStr := 'Storage Server Workgroup Edition'; PRODUCT_UNDEFINED: tmpStr := 'An unknown product'; PRODUCT_ULTIMATE: tmpStr := 'Ultimate Edition'; PRODUCT_ULTIMATE_N: tmpStr := 'Ultimate Edition'; PRODUCT_WEB_SERVER: tmpStr := 'Web Server Edition'; PRODUCT_UNLICENSED: tmpStr := 'Unlicensed product' else tmpStr := ''; end;{ pdwReturnedProductType } Result := Result + tmpStr; NTBRes := FALSE; end;{ GetProductInfo<>NIL } end;{ Vista } if NTBres then begin if OSVI_NT.wProductType = VER_NT_WORKSTATION then begin if OSVI_NT.wProductType = VER_NT_WORKSTATION then begin case OSVI_NT.wSuiteMask of 512: Result := Result + 'Personal'; 768: Result := Result + 'Home Premium'; else Result := Result + 'Professional'; end; end else if OSVI_NT.wProductType = VER_NT_SERVER then begin if OSVI_NT.wSuiteMask = VER_SUITE_DATACENTER then Result := Result + 'DataCenter Server' else if OSVI_NT.wSuiteMask = VER_SUITE_ENTERPRISE then Result := Result + 'Advanced Server' else Result := Result + 'Server'; end; end{ wProductType=VER_NT_WORKSTATION } else begin with TRegistry.Create do try RootKey := HKEY_LOCAL_MACHINE; if OpenKeyReadOnly('SYSTEM\CurrentControlSet\Control\ProductOptions') then try tmpStr := UpperCase(ReadString('ProductType')); if tmpStr = 'WINNT' then Result := Result + 'Workstation'; if tmpStr = 'SERVERNT' then Result := Result + 'Server'; finally CloseKey; end; finally Free; end; end;{ wProductType<>VER_NT_WORKSTATION } end;{ NTBRes } end;{ VER_PLATFORM_WIN32_NT } VER_PLATFORM_WIN32_WINDOWS: begin if (OSVI.dwMajorVersion = 4) and (OSVI.dwMinorVersion = 0) then begin Result := 'Windows 95 '; if OSVI.szCSDVersion[1] = 'C' then Result := Result + 'OSR2'; end; if (OSVI.dwMajorVersion = 4) and (OSVI.dwMinorVersion = 10) then begin Result := 'Windows 98 '; if OSVI.szCSDVersion[1] = 'A' then Result := Result + 'SE'; end; if (OSVI.dwMajorVersion = 4) and (OSVI.dwMinorVersion = 90) then Result := 'Windows Me'; end;{ VER_PLATFORM_WIN32_WINDOWS } VER_PLATFORM_WIN32s: Result := 'Microsoft Win32s'; else Result := 'Unknown'; end;{ OSVI_NT.dwPlatformId } end;{ GetOSInfo } initialization @GetProductInfo := GetProcAddress(GetModuleHandle('KERNEL32.DLL'), 'GetProductInfo'); end.


__________________
SusKun ve Sessiz Mürekkep...


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
versiyonu, windows, windows versiyonu öğrenmek, yeni, öğrenmek


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Yeni bir dil öğrenmek! Peki ama nasıl? AftieL Kişisel Gelişim 0 15 Ağustos 2014 16:49
Standart C++'ı Yeni Bir Dil Olarak Öğrenmek toXic C ve C++ 0 04 Mart 2010 15:07
Türk yazılımın yeni versiyonu hazır ßy_MysticaL GNU, Linux ve UNIX 0 17 Mart 2007 13:07