Page 1 sur 1

Forcer clavier Anglais dans un InputBox

Posté : mer. 07 déc. 2016 22:49
par Gavriel
bonjour
je voudrais savoir comment Forcer le clavier Anglais ou autre langue dans un InputBox sana avoir a faire shift + alt car j ai plusieur langue
merci d'avance

Re: Forcer clavier Anglais dans un InputBox

Posté : sam. 10 déc. 2016 13:17
par walkson
Peut être ceci ?
#include <WinAPISys.au3>
_WinAPI_SetKeyboardLayout ( $hWnd, $iLanguage [, $iFlags = 0] )
#include <WinAPISys.au3>
_WinAPI_GetKeyboardLayout ( $hWnd )

Re: Forcer clavier Anglais dans un InputBox

Posté : jeu. 15 déc. 2016 19:46
par Gavriel
Merci mais je n' ais pas reussi si cest possible de m'ecrire un exemple complet merci beaucoup

Re: Forcer clavier Anglais dans un InputBox

Posté : jeu. 15 déc. 2016 21:07
par mikell
Pas forcément évident, c'est vrai :wink:
#include <WinAPISys.au3>

$hwnd = WinGetHandle(AutoItWinGetTitle())
_WinAPI_SetKeyboardLayout ($hwnd, 0x0409)   ; English U.S.

InputBox('Test', 'Please enter something', '', '', '', '', 100, 100, 0, $hwnd)

Re: Forcer clavier Anglais dans un InputBox

Posté : lun. 19 déc. 2016 18:48
par Gavriel
Merci de m avoire repondu mais ca ne marche pas chez moi ets que c est normal?
merci d avance

Re: Forcer clavier Anglais dans un InputBox

Posté : lun. 19 déc. 2016 20:45
par mikell
Explique mieux le "ça ne marche pas"

(Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles )

Re: Forcer clavier Anglais dans un InputBox

Posté : mar. 20 déc. 2016 18:24
par Gavriel
merci de mavoire repondu je vouler dire que le clavier ne passe pas en anglais mais reste en francais quant j ecris dans le InputBox merci

Re: Forcer clavier Anglais dans un InputBox

Posté : mar. 20 déc. 2016 20:04
par mikell
Avec mon bout de code, si je tape "azerty" ça écrit "qwerty" dans l'inputbox. pas chez toi ?

Re: Forcer clavier Anglais dans un InputBox

Posté : mer. 21 déc. 2016 18:22
par Gavriel
non

Re: Forcer clavier Anglais dans un InputBox

Posté : jeu. 22 déc. 2016 14:04
par Hugues
Bonjour,

De mémoire j'ai vu un post sur le forum US, je crois qu'il modifiait la clef associée dans le registre.

Re: Forcer clavier Anglais dans un InputBox

Posté : jeu. 22 déc. 2016 14:54
par walkson
Bonjour,
J'ai testé le code de Mikell et aucun problème (sous Win 7)
La question est peut être de savoir si le clavier US existe ?
Un bout de code venu tout droit de l'aide répondra à la question....
#include <APILocaleConstants.au3>
#include <Array.au3>
#include <WinAPILocale.au3>
#include <WinAPISys.au3>

Local $aData = _WinAPI_GetKeyboardLayoutList()
If IsArray($aData) Then
   For $i = 1 To $aData[0]
      $aData[$i] = '0x' & Hex($aData[$i]) & ' (' & _WinAPI_GetLocaleInfo(BitAND($aData[$i], 0xFFFF), $LOCALE_SENGLANGUAGE) & ')'
   Next
EndIf

_ArrayDisplay($aData, '_WinAPI_GetKeyboardLayoutList')

Re: Forcer clavier Anglais dans un InputBox

Posté : mar. 27 déc. 2016 14:47
par Gavriel
merci de votre aide voici se que ca me donne
Row|Col 0
[0]|2
[1]|0x04090409 (English)
[2]|0x040C040C (French)
je suis sur win 8