[C] Variables autoIT @.. : où les trouver dans Windows
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[C] Variables autoIT @.. : où les trouver dans Windows
Bonjour,
En autoIT, il existe des variables fort pratiques comme @OSArch et @OSVersion.
Mon problème maintenant c'est que je dois développer un bout de script en VBS pour déterminer si un PC et sous Windows XP 32 bits en anglais. Et j'aimerais savoir si ces variables autoIT sont calculé ou bien si elle sont connu quelque part dans Windows, ce qui me permettrait de les lire et de m'en servir !
J'ai déjà une solution alternative en cherchant des répertoires propres au 64 bit puis un spécial folder comme le bureau pour vérifier la langue, mais c'est quand même beaucoup moins propre à mon sens.
Merci d'avance.
En autoIT, il existe des variables fort pratiques comme @OSArch et @OSVersion.
Mon problème maintenant c'est que je dois développer un bout de script en VBS pour déterminer si un PC et sous Windows XP 32 bits en anglais. Et j'aimerais savoir si ces variables autoIT sont calculé ou bien si elle sont connu quelque part dans Windows, ce qui me permettrait de les lire et de m'en servir !
J'ai déjà une solution alternative en cherchant des répertoires propres au 64 bit puis un spécial folder comme le bureau pour vérifier la langue, mais c'est quand même beaucoup moins propre à mon sens.
Merci d'avance.
Modifié en dernier par keltharak le lun. 30 nov. 2009 09:51, modifié 1 fois.
- ayuckers
- Niveau 4

- Messages : 77
- Enregistré le : mer. 28 oct. 2009 14:15
- Localisation : Drome
- Status : Hors ligne
Re: [..] Variables AutoIt @.. : où les trouver dans Windows
bonsoir,
Va dans le fichier d'aide " AutoIt3Help " sur l'onglet index et tu fait une recherche sur
"Directory Macros" et ensuite sur " Macros "
tu devrais y trouvé toute les variable en @....
Va dans le fichier d'aide " AutoIt3Help " sur l'onglet index et tu fait une recherche sur
"Directory Macros" et ensuite sur " Macros "
tu devrais y trouvé toute les variable en @....
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Variables AutoIt @.. : où les trouver dans Windows
Pour le type d'OS (32 ou 64-Bit), vous pouvez utiliser ceci :
Pour le reste, les macros devrait suffire. 
Code : Tout sélectionner
Func _OSBit2()
Local $tOS = DllStructCreate("char[256]")
Local $aGSWD = DllCall("Kernel32.dll", "int", "GetSystemWow64Directory", "ptr", DllStructGetPtr($tOS), "int", 256)
If IsArray($aGSWD) And DllStructGetData($tOS, 1) Then Return 64
Return 32
EndFuncThierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- jbnh
- Niveau 11

- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Variables AutoIt @.. : où les trouver dan
Mhhh, je crois pas que ces deux réponses répondent à la question.
Je pense que keltharak veut savoir ou va chercher la macro autoit @OSVersion son information pour l'utiliser en vbs...
Je pense que keltharak veut savoir ou va chercher la macro autoit @OSVersion son information pour l'utiliser en vbs...
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Variables AutoIt @.. : où les trouver dans Windows
Certes, mais pourquoi le faire en VBS puisque AutoIt sait le faire. 
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Variables AutoIt @.. : où les trouver dans Windows
Bonjour,
merci de vous intéresser a mon problème déjà, mais jbnh a raison, je souhaite savoir ou autoIT trouve ces info car je dois forcement le faire en VBS.
Croyez moi ça m'ennuie encore plus que vous car je vais devoir le codé mais bon pas le choix !
merci de vous intéresser a mon problème déjà, mais jbnh a raison, je souhaite savoir ou autoIT trouve ces info car je dois forcement le faire en VBS.
Croyez moi ça m'ennuie encore plus que vous car je vais devoir le codé mais bon pas le choix !
Re: [..] Variables AutoIt @.. : où les trouver dans Windows
Merci gauthier mais ce n'est pas ça que je cherche, je connais parfaitement ces macros ! Et justement j'aurais adoré que ce soit les même en VBS mais elle n'existent pas !
Ce que je voudrais savoir c'est comment autoIT renseigne ces macros.
Exemple, @OSArch sur ma machine au bureau renvoie "X86". Mais pour avoir cette information, le moteur autoIT doit bien la chercher quelque part ! Je vois que 2 solutions, soit une clé de registre une une variable windows (ou autre) contient cette info (franchement ça m'arrangerait
) soit il la calcule avec des propriétés particulières de windows.
Ce que je voudrais savoir c'est comment autoIT renseigne ces macros.
Exemple, @OSArch sur ma machine au bureau renvoie "X86". Mais pour avoir cette information, le moteur autoIT doit bien la chercher quelque part ! Je vois que 2 solutions, soit une clé de registre une une variable windows (ou autre) contient cette info (franchement ça m'arrangerait
- jbnh
- Niveau 11

- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Variables AutoIt @.. : où les trouver dan
Salut.
Bon bah voila tes deux solutions : Soit tu sais comment chercher en vbs une information dans la base de donnée, et à ce moment la tu regardes dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion "buildlabex"
Ou alors tu cherches du coté des Windows API ou il doit surement y avoir une fonction toute faite
Bon bah voila tes deux solutions : Soit tu sais comment chercher en vbs une information dans la base de donnée, et à ce moment la tu regardes dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion "buildlabex"
Ou alors tu cherches du coté des Windows API ou il doit surement y avoir une fonction toute faite
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
- moutelous
- Niveau 6

- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..] Variables AutoIt @.. : où les trouver dans Windows
Bonjour,
Il faut utiliser l'objet WshEnvironment avec un code de ce genre :
Ci-dessous les variables concernées :
NUMBER_OF_PROCESSORS Number of processors running on the machine.
PROCESSOR_ARCHITECTURE Processor type of the user's workstation.
PROCESSOR_IDENTIFIER Processor ID of the user's workstation.
PROCESSOR_LEVEL Processor level of the user's workstation.
PROCESSOR_VERSION Processor version of the user's workstation.
OS Operating system on the user's workstation.
COMSPEC Executable file for the command prompt (typically cmd.exe).
HOMEDRIVE Primary local drive (typically the C drive).
HOMEPATH Default directory for users (Typically \users\default in Windows 2000).
PATH PATH environment variable.
PATHEXT Extensions for executable files (typically .com, .exe, .bat, or .cmd).
PROMPT Command prompt (typically $P$G). X
SYSTEMROOT System directory (for example, c:\winnt). This is the same as WINDIR.
WINDIR System directory (for example, c:\winnt). This is the same as SYSTEMROOT.
TEMP Directory for storing temporary files (for example, c:\temp).
TMP Directory for storing temporary files (for example, c:\temp).
A+
Il faut utiliser l'objet WshEnvironment avec un code de ce genre :
Code : Tout sélectionner
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objEnv = WshShell.Environment("System")
WScript.Echo objEnv("OS")
NUMBER_OF_PROCESSORS Number of processors running on the machine.
PROCESSOR_ARCHITECTURE Processor type of the user's workstation.
PROCESSOR_IDENTIFIER Processor ID of the user's workstation.
PROCESSOR_LEVEL Processor level of the user's workstation.
PROCESSOR_VERSION Processor version of the user's workstation.
OS Operating system on the user's workstation.
COMSPEC Executable file for the command prompt (typically cmd.exe).
HOMEDRIVE Primary local drive (typically the C drive).
HOMEPATH Default directory for users (Typically \users\default in Windows 2000).
PATH PATH environment variable.
PATHEXT Extensions for executable files (typically .com, .exe, .bat, or .cmd).
PROMPT Command prompt (typically $P$G). X
SYSTEMROOT System directory (for example, c:\winnt). This is the same as WINDIR.
WINDIR System directory (for example, c:\winnt). This is the same as SYSTEMROOT.
TEMP Directory for storing temporary files (for example, c:\temp).
TMP Directory for storing temporary files (for example, c:\temp).
A+
A+
- ayuckers
- Niveau 4

- Messages : 77
- Enregistré le : mer. 28 oct. 2009 14:15
- Localisation : Drome
- Status : Hors ligne
Re: [..] Variables AutoIt @.. : où les trouver dans Windows
bonsoir, je n'est pas eut le temps de regarder le code mais est que ceci pourais répondre a tes question.
avec un peut de chance y'a quelque chose a en tiré
mais je me trompe peut etre
voici le lien :
http://www.autoitscript.com/forum/index ... howfile=16
edit : bin en fait non je vient de regarder le code sorry
avec un peut de chance y'a quelque chose a en tiré
mais je me trompe peut etre
voici le lien :
http://www.autoitscript.com/forum/index ... howfile=16
edit : bin en fait non je vient de regarder le code sorry
Re: [..] Variables autoIT @.. : où les trouver dans Windows
Merci a tous pour vos pistes, mais au final j'ai rien trouvé de vraiment efficace.
Je cherchais comment autoiT détermine les variables @OSArch et @OSversion pour réutiliser cette méthode dans un script VBS (car je complète un script existant et que je n'ai pas le choix du langage...). au final ces la solution de jbnh qui se rapprochait le plus de ce que je cherchais mais malheureusement la clé de registre "buildlabex" n'existe pas sur les version d'XP de ma boite. Finalement je me suis rabattu sur la recherche du répertoire "SysWoW64" pour le type d'architecture et sur l'analyse du nom de l'OS fourni par une requête WMI pour être sur que ce soit XP.
Au final : longue vie a autoIT ! c'est mieux...
Je cherchais comment autoiT détermine les variables @OSArch et @OSversion pour réutiliser cette méthode dans un script VBS (car je complète un script existant et que je n'ai pas le choix du langage...). au final ces la solution de jbnh qui se rapprochait le plus de ce que je cherchais mais malheureusement la clé de registre "buildlabex" n'existe pas sur les version d'XP de ma boite. Finalement je me suis rabattu sur la recherche du répertoire "SysWoW64" pour le type d'architecture et sur l'analyse du nom de l'OS fourni par une requête WMI pour être sur que ce soit XP.
Au final : longue vie a autoIT ! c'est mieux...


