¿Hay alguna manera fácil de obtener Windows Edition (Home, Professional, etc.)?Obtener Windows Edition
Respuesta
par de maneras de hacer esto:
- Se podría analizar el campo de la clase
Win32_OperatingSystem
en WMIcaption
. - Puede mirar los campos
OSProductSuite
yOperatingSystemSKU
en la claseWin32_OperatingSystem
en WMI. - Puede hacer el puerto this C++ program usando P/Invoke.
Las llamadas WMI tardan 50 ms o más. Su código C++ ni siquiera da el nombre de la edición. Si quieres algo rápido y detallado, solo busca en el registro. HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProductName – Sophit
@Sophit: 1. re: 50ms: no en mi experiencia, al menos en la máquina local. 2. ¿Con qué frecuencia está registrando el título del sistema operativo que el rendimiento en esta área importa de todos modos? 3. El registro no es una API y esa clave no es contractual. –
This blog post entra en detalles acerca de cómo obtener la versión "mayor" de Windows (XP/Vista/7/etc.), Y es seguido por this blog post que detalla cómo utilizar WMI para obtener esa información adicional.
El código en el segundo enlace es un poco largo, y nunca estoy seguro de copiar grandes cantidades de código de sitios externos sin una licencia obvia, así que no estoy poniendo el código en esta respuesta.
Creo que está bien agregar el código, * si es pequeño o una pequeña porción de código *, siempre y cuando mantenga intacto el enlace 'fuente'. Además, el código ayudaría en caso de que la fuente se convierta en un '0xdeadbeef' (0: –
) Como autor de esas publicaciones de blog, tiene mi permiso para copiar el código. Pronto agregaré una licencia a mi sitio web para evitar esto. problema en el futuro. Gracias por considerar la licencia/permiso. –
Tipo de. Use this class en this way.
Tenga en cuenta que este es un puerto C# del enlace en la tercera sección de mi respuesta. +1 –
@Billy: +1 Seguro que lo es. Uno pensaría que el BCL incluya una clase así y facilítelo de hecho. –
Si hace referencia a los Microsoft.VisualBasic.Devices espacio de nombres se puede hacer esto:
ComputerInfo computerInfo = new ComputerInfo();
string fullName = computerInfo.OSFullName; // i.e. "Microsoft Windows 7 Ultimate"
Puede utilizar Microsoft.VisualBasic en su C# aplicaciones - Es igual que cualquier otra biblioteca.
Cuando se utiliza desde VB.NET, es simplemente 'My.Computer.Info.OSFullName'. Tenga en cuenta que el resultado es localizado, por lo que no es bueno para el análisis. A diferencia de esto, el [valor de registro ] (http://stackoverflow.com/questions/4405761/get-windows-edition#comment61415777_4405791) no está localizado – GSerg
¿Una respuesta simple? Solo mira en el registro.
HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProductName
HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ CSDVersion
No tiene la sobrecarga de WMI (50 ms cada llamada) , y le da el nombre completo.
Para algo que solo necesita hacer una vez y almacenarlo en caché (el sistema operativo no puede cambiar versiones sin reiniciar primero), 50ms no es gran cosa. –
- 1. ¿Cómo obtener Vista Edition programmatically?
- 2. Instalar Shield Limited Edition Servicio de Windows
- 3. Oracle 11g Express Edition para Windows 64bit?
- 4. Cómo otorgo SeCreateSymbolicLink en Windows Vista Home edition
- 5. IDEA Community Edition versus Eclipse
- 6. ubuntu server vs desktop edition
- 7. Determine Windows Version, Edition y Service Pack DE UNA IMAGEN EN DISCO SIN CONEXIÓN
- 8. ¿Cuál es la diferencia entre SQL Server Compact Edition y SQL Server Express Edition?
- 9. Obtener Windows Times Reboot Timestamp?
- 10. ¿SQL Server Compact Edition es una alternativa sensata a SQLite?
- 11. ¿Cómo importar datos en SQL Compact Edition?
- 12. SQL Server Compact Edition 4 - AccessViolationException
- 13. Subconsulta en SQL Server Compact Edition
- 14. SQL 2005 Express Edition - Instalar nueva instancia
- 15. Ruby Enterprise Edition vs Ruby 1.9
- 16. ¿Debo actualizar a Intellij Ultimate Edition?
- 17. SQL Server 2008 Backup Compression Standard Edition
- 18. sql server compact edition Editor de datos
- 19. ¿Dónde está Eclipse Empty Shell Edition?
- 20. PHP + Quickbook Online Edition (Integración de API)?
- 21. Microsoft Visual Studio 2010 Academic Edition
- 22. ¿Es SQL Server Express Edition gratis?
- 23. ¿SQL Compact Edition admite índices agrupados?
- 24. Oracle Express Edition - No se puede conectar remotamente (más otros)
- 25. Dónde obtener GTK3 precompilado para Windows?
- 26. Cómo obtener Windows 8 Live ID
- 27. git-svn en Windows. Dónde obtener binarios?
- 28. ¿Cómo obtener IBM Java 7 para Windows?
- 29. ¿Cómo obtener el orden z en Windows?
- 30. ¿Es seguro instalar SQL Server 2008 R2 y MySQL uno al lado del otro en Windows Server 2003 Enterprise Edition?
¡Gracias chicos! ¡Excelentes respuestas! – SiberianGuy