Làm việc trên một dự án và cần có khả năng xác định xem O/S là Windows 7, Vista hay mặc định là XP. Tôi hiểu rằng tôi có thể chạy vào Win2K và các phiên bản trước đó, nhưng chúng ta hãy chỉ nói rằng đó không phải là một mối quan tâm như mã khác sẽ bắt rằng trước khi nó được đến thời điểm này. Ứng dụng của tôi sẽ có trong C++ trong thời gian sử dụng VS2005. Tôi đã tìm thấy các bài báo và mã mẫu giống nhau nhưng chúng dường như cồng kềnh cho việc sử dụng của tôi. Chỉ cần tìm kiếm một sự trở lại nhanh chóng và bẩn thỉu.Xác định nếu O/S là Windows 7
http://msdn.microsoft.com/en-us/library/ms724358%28VS.85%29.aspx
Thật không may điều này không phân biệt được giữa các nền tảng Máy trạm và Máy chủ gần đây. Xem: http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=10476 –
Xem thêm http://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions để biết danh sách cập nhật. Bạn cũng có thể kiểm tra osvi.wProductType == VER_NT_WORKSTATION cho các phiên bản "bình thường" so với "Máy chủ" của Windows: tức là 6.1 là Windows 7 (đúng) hoặc Windows Server 2008 R2 (sai). – ddevienne