Ketika versi paket layanan Vista berada di level 1 (SP1), nomor versi ini ditampilkan di "Control Panel / System" . Namun, pada sistem saya informasi ini telah hilang, mungkin karena saya sekarang menggunakan SP2. Saya ingin memverifikasi ini, jadi saya bisa yakin.
Kesimpulan : Berkat Ivo saya menemukan pengaturan registri yang menyimpan nomor versi paket layanan. Karena saya (secara keliru) yakin bahwa saya telah menginstal paket layanan, dan karena "CSDBuildNumber" adalah 2 pada sistem saya, saya melakukan riset tentang info dalam registri. Inilah hasilnya:
Gambar Windows Vista segar tanpa SP:
- CSDBuildNumber: 2
- CSDVersion tidak ada
Gambar Windows Vista segar dengan SP1:
- CSDBuildNumber: 1616
- CSDVersion: Paket Layanan 1
Gambar Windows Vista segar dengan SP2:
- CSDBuildNumber: 1621
- CSDVersion: Paket Layanan 2
Jadi memang, masalah saya adalah - bertentangan dengan apa yang saya yakini - saya tidak memiliki paket layanan yang diinstal. Dengan demikian, dialog "Panel Kontrol / Sistem" dapat dipercaya .
sumber
Jalankan
winver
dari kotak ketik-in mulai menu (atau di mana pun Anda dapat menjalankan perintah sewenang-wenang).Utilitas kecil ini membuka kotak pesan yang mencantumkan versi Windows saat ini dan tingkat paket layanan.
sumber
Jawaban saya (jawaban yang tepat ), untuk anak cucu:
Nilai tingkat Paket Layanan (jika ada) diperoleh dengan melakukan
CSDVersion >> 8
mis. Menggeser CSDVersion REG_DWORD sebanyak 8 bit; misalnya REG_DWORD nilai akan0x100
untuk SP1,0x200
SP2, dan sebagainya.Ini berfungsi untuk versi Windows sepanjang perjalanan kembali ke NT4, dan merupakan cara yang disukai Microsoft untuk mendapatkan level SP sebelum pengenalan struktur OSVERSIONINFOEX , sebagaimana diuraikan dalam Persyaratan Dasar Windows [1], khususnya persyaratan " 7. Melakukan Pengecekan Versi Windows Benar "(lihat tautan referensi di bawah untuk detail lebih lanjut)
[1] Referensi: http://msdn.microsoft.com/en-us/library/ms954375.aspx
sumber