[Résolu] [Basic] Récupérer la version de windows installée

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
TheHache
PassiOOnné
PassiOOnné
Messages : 653
Inscription : 02 déc. 2009 09:43

[Résolu] [Basic] Récupérer la version de windows installée

Message par TheHache »

Bonjour,

Je voudrai pouvoir récupérer la version de windows installée.
La fonction Environ("Variable") nous permet de récupérer la valeur des variables d'environnement de l'OS

Environ("OS") nous retourne, pour windows XP ou 7, la valeur Windows NT (Pas trop parlant !)
Environ("APPDATA") nous retourne le chemin des applications installées. C:\Documents ans Settings\Utilsateur\Appication Data pour XP et C:\Users\Utilisateur\AppData\Roaming pour W7

Compte tenu que les applications ne sont pas installées dans les même dossiers en fonction de XP ou W7, on pourrait extraire de cette variable le début du chemin et en déduire la version de windows.

Est-il possible de récupérer la version de windows autrement ?

Merci.

@+
Dernière modification par TheHache le 08 août 2012 21:36, modifié 4 fois.
LibO 25.8.4.2 - Windows 11 Famille
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10071
Inscription : 28 août 2010 08:45

Re: Récupérer la version de windows installée

Message par micmac »

Image

Bonjour,

Avec 55 messages au compteur vous n'ignorez pas que cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?

Lisez ce fil pour savoir quelle balise utiliser : http://user.services.openoffice.org/fr/ ... html#27295

Merci de votre collaboration.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: Récupérer la version de windows installée

Message par alhazred »

Bonjour,

À ma connaissance, aucune variable d'environnement ne te donnera la version exacte.

Par contre, hors macro, il suffit d'exécuter winver (Menu Démarrer > Tous les programmes > Accessoires > Exécuter, puis taper winver).
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [Basic] Récupérer la version de windows installée

Message par Churay »

Bonjour

La commande DOS ver est un peu plus parlante, donc à exécuter avec une redirection style ver >c:\chemin\version.txt

Le fichier contiendra une ligne du genre Microsoft Windows XP [version 5.1.2600].
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Basic] Récupérer la version de windows installée

Message par Dude »

Salut,
alhazred a écrit :À ma connaissance, aucune variable d'environnement ne te donnera la version exacte.
+1
Microsoft change au fil des versions de Windows, l'accès de ces informations sans se soucier de la portabilité.

Une solution serait aussi d'accéder à la base de registre et de tester les clés qui conviennent (par exemple ProductId)

La bibliothèque ImportWizard fournit deux fonctions OpenRegKey et QueryValue pour l'opération.
Avatar de l’utilisateur
TheHache
PassiOOnné
PassiOOnné
Messages : 653
Inscription : 02 déc. 2009 09:43

Re: [Basic] Récupérer la version de windows installée

Message par TheHache »

Bonjour,

Merci à tous pour vos participations, je vais m'inspirer de vos orientations.

@+
LibO 25.8.4.2 - Windows 11 Famille
Avatar de l’utilisateur
TheHache
PassiOOnné
PassiOOnné
Messages : 653
Inscription : 02 déc. 2009 09:43

Re: [Basic] Récupérer la version de windows installée

Message par TheHache »

Bonjour,
Petit retour d'expérience :
En suivant les conseils de Dude, j'ai écrit ce petit bout de code :

Code : Tout sélectionner

Option Explicit
Sub Recuperer_Version_Windows
Dim Cle As String
Dim Reponse As Integer
Dim Nom_Produit As String
Dim Service_Pack As String
	GlobalScope.BasicLibraries.LoadLibrary("ImportWizard")
	Cle = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"	
	Nom_Produit = QueryValue (HKEY_LOCAL_MACHINE, Cle, "ProductName")
	Service_Pack = QueryValue (HKEY_LOCAL_MACHINE, Cle, "CSDVersion")
	Reponse = Msgbox (Nom_Produit & " - " & Service_Pack,0,"Version Windows")
End Sub
Cela fonctionne très bien avec LibreOffice 3.5.5.3 mais pas avec OpenOffice 3.3.0 ! (Pas essayé sur AOo)

Aurais-je omis quelque chose ?

@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 25.8.4.2 - Windows 11 Famille
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Basic] Récupérer la version de windows installée

Message par Dude »

Le code fonctionne avec OpenOffice 3.4.
sous_xp.png
... sauf pour la clé CSDVersion sous Win7 x64.
sous_7x64.png
De ce que je vois le code fait appel à la bibliothèque advapi32.dll.
Peut être faudrait-il creuser du côté Windows ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
TheHache
PassiOOnné
PassiOOnné
Messages : 653
Inscription : 02 déc. 2009 09:43

Re: [Basic] Récupérer la version de windows installée

Message par TheHache »

Dude a écrit :Le code fonctionne avec OpenOffice 3.4.
Sait-on pourquoi il ne fonctionne pas sous 3.3. ?
Dude a écrit :... sauf pour la clé CSDVersion sous Win7 x64.
Pas grave pour mon cas, seule la version de windows m’intéresse.
La Clé ProductId ne fonctionne pas non plus alors que toutes les autres fonctionnent. Bizarre :!:
Dude a écrit :De ce que je vois le code fait appel à la bibliothèque advapi32.dll. Peut être faudrait-il creuser du côté Windows ?
Là ça me dépasse :oops:

Merci Dude pour tes tests. :super:
Churay a écrit : La commande DOS ver est un peu plus parlante, donc à exécuter avec une redirection style ver >c:\chemin\version.txt
Le fichier contiendra une ligne du genre Microsoft Windows XP [version 5.1.2600].
La commande ver sur ma version de windows me retourne Microsoft Windows [version 6.1.7601]
Pas très explicite, d'autant que vu le nombre de version de Win7 ça va être chaud à gérer. :shock:

Merci Churay pour ton idée. :super:

A bientôt
LibO 25.8.4.2 - Windows 11 Famille
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [Résolu] [Basic] Récupérer la version de windows install

Message par Churay »

Bonjour,

Désolé de faire remonter ce fil un peu tardivement, mais :
TheHache a écrit : La commande ver sur ma version de windows me retourne Microsoft Windows [version 6.1.7601]
Pas très explicite, d'autant que vu le nombre de version de Win7 ça va être chaud à gérer. :shock:
Non pas forcément : dans 7601, le 76 indique "sept" et normalement le 01 indique le SP (normalement, parce que je ne suis plus trop les errements des fenêtres), après les versions Basic, Home, Pro, Ultimate et autres ne sont pas repérées ici, si tant est qu'elle le soient réellement...
J'en veux pour preuve qu'il est possible n'importe quelle version à partir d'un DVD labellisé Basic ou n'importe quoi d'ailleurs.... Mais le sujet n'est pas là.

Windows NT 3.1 (3.10.528) / 3.1 / 3.1 Advanced Server
Windows NT 3.5 (3.5.807) 3.5 / 3.5 Advanced Server
Windows 95 (4.0.950)
Windows NT 3.51 (3.51.1057) 3.5 / 3.5 Advanced Server
Windows NT 4.0 (4.0.1381) Workstation / Server
Windows 98 (4.0.1998)
Windows 98 Second Edition (4.1.2222)
Windows Me (4.90.3000)
Windows 2000 (5.0.2195) 2000 Professionnel / 2000 Server / 2000 Advanced Server / 2000 Datacenter Server
Windows XP (5.1.2600) Windows XP Edition familiale (Home Edition) / Windows XP Professionnel
Windows Server 2003 (6.?.?) Server 2003, Web Edition / Server 2003, Standard Edition / Server 2003, Enterprise Edition / Server 2003, Datacenter Edition
Windows Vista (6.0.6000) Windows Vista
Windows Server 2008 (6.0) Windows Server
Windows sept (6.1.7600) Windows 7
Windows Server 2008 R2 (.?.?) Windows Server

Toujours, normalement, les trois versions de Windows 8 devraient être repérables par (6.2.9200)
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...