Changer la langue de clavier avec un code vb.net

amone_1905 Messages postés 9 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 octobre 2010 - 18 févr. 2008 à 14:39
maanaloun Messages postés 16 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 25 mars 2010 - 20 avril 2009 à 11:30
salut tt le monde
je ss en train de developper une application avec vbexpresse 2005 ,et je veut un code qui peut modifier ou changer la langue de clavier ,par exemple quand je click sur une bouton de francais la langue change automatiquement  en "FR" et la meme chose pour les autres langue ,
aide moi svp
merci d'avnace
A voir également:

10 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 févr. 2008 à 14:47
salut,


Key HKEY_USERS\.DEFAULT\Keyboard Layout\Preload\

Entrée 1

Type REG_SZ

Values Locale

0000040c Français (France)

00000409 USA

00000807 Allemand (Suisse)

0000080c Français (Belgique)

00000c0c Français traditionnel (Canada)

00001009 Français (Canada)

il faudra peut-être envoyer (HWND_BROADCOAST je crois) un message (sendmessage ou postmessage) après modif du registre

ps : 20 secondes sur google avec le mot clé paramètres régionaux switch FR VB
bonne journée ;)
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
amone_1905 Messages postés 9 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 octobre 2010
18 févr. 2008 à 23:02
salut PCPT
j'ai trouver des indication comme ça mais je sai pas comment faire donné moi un exemple svp complet
merci bcp
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 févr. 2008 à 23:25
re,
sur 15459 codes je suis persuadé qu'il y en a bien au moins 1 qui traite le registre....
encode faut-il taper ce mot clé dans le moteur de recherches, pas facile hein

http://www.vbfrance.com/recherche.aspx?tr=source&r=registre&dotnet=1

bonne soirée
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
amone_1905 Messages postés 9 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 octobre 2010
18 févr. 2008 à 23:40
merci bcp PCPT
je vais essai avec la base de registre
merci autre fois
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 févr. 2008 à 00:15
oh... je pensais qu'avec juste la première ligne c'était clair

je la refais en image :

il faudra donc lire et écrire dans le registre, avec du code que tu peux trouver (cf lien)
voilà tout ^^

ps : pense à valider une fois le pb résolu
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
amone_1905 Messages postés 9 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 octobre 2010
19 févr. 2008 à 03:37
salut ,
desolé ,j'ai declarer cet methode dans une module:
'methode de modification les chains des cle de registre
 Public Sub ModifieVALCle(ByVal cle As String, ByVal NewValeur As String)
        Dim Reg As RegistryKey
        'ouvre la clé avec accès en écriture
        Reg = Registry.CurrentUser.OpenSubKey("HKEY_USERS\.DEFAULT\Keyboard Layout\Preload", True)
        'modifie la valeur
        Reg.SetValue(cle, NewValeur)
        'ferme la clé
        Reg.Close()
        MsgBox("Modification effectué")
    End Sub
et apres j'ai fait l'appel a l'evenement de gotfocus:

Private Sub nomar_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles nomar.GotFocus
        ModifieVALCle("1", "0000001801")
    End Sub

et quand je pose le focus dans le textbox tt bloqué et la langue ne change pas ?
bon nuit
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 févr. 2008 à 08:49
ne t'arrête pas à ta première recherche...
(désolé je ne fais pas de dotnet)
0
amone_1905 Messages postés 9 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 octobre 2010
27 févr. 2008 à 22:33
salut PCPT,
et enfin mon prof  aresj'ai trouvé le solution voila le code en vb.net vbexpresse2005 :
'declaration des contantes
    Public Const KLF_ACTIVATE  = &H1
    Public Const LANG_FR As UInt32= &H40C
    Public Const LANG_AR As UInt32 = &H1801
    Public Const LANG_EN As UInt32 = &H409
'declaration d'une fonction qui modifié la langue a l'aide de "user32"
    Public Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As UInt32, ByVal flags As UInt32) As UInt32
' puis on fait l'appel a notre fonction ActivateKeyboardLayout dans une autre fonction pour facilite utilisation
Public Sub Changelangue(ByVal Language As UInt32)
        ActivateKeyboardLayout(Language, KLF_ACTIVATE)
End Sub
'et enfin on fait l'appel a cet derniere fontion dans n'import evenement et choisi la langue qui tu veut comme ça (ex: l'evenement GotFocus):
Private Sub textboxarabe_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles nomar.GotFocus
        ChangeKeyboardLanguage(LANG_AR)
    End Sub
merci bcp MR PCPT
et bon chance à tt

   
0
mimitsdi Messages postés 1 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 11 mai 2008
11 mai 2008 à 22:50
salut,
je suis une nouvelle mombre ,je cherche un code vb qui qui me permet d'attacher m'appication avec le clavier comme  "Ctrl +s pour l'enregistrement
plaise help me...............
0
maanaloun Messages postés 16 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 25 mars 2010
20 avril 2009 à 11:30
bonjour,
j'ai esseié ce code , mais
il fonctione bien pour la langue francais et anglais , mais pour l'arabe il ne change rien!
comment faire?
Public Class Form1
Public Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As UInt32, ByVal flags As UInt32) As UInt32
Public Const KLF_ACTIVATE = &H1
Public Const LANG_FR As UInt32 = &H40C
Public Const LANG_AR As UInt32 = &H1801
Public Const LANG_EN As UInt32 = &H409

Public Sub Changelangue(ByVal Language As UInt32)
ActivateKeyboardLayout(Language, KLF_ACTIVATE)
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Changelangue(LANG_AR)

End Sub


End Class

merci bien pour votre aide
0
Rejoignez-nous