Bonjour à tous,
Je cherche à changer la culture d'un processus particulier sans pour autant la changer pour les autres applications de mon environnement.
Concrètement, je souhaite passer par un petit launcher en .net qui me permettrait de forcer un clavier particulier pour mon application (non .net).
Mon soucis actuel est que mon launcher est lui bien basculé, mais pas le processus qu'il exécute.
Le bout de code qui ne fonctionne actuellement pas, ou j'ai essayé de passer le clavier au nouveau processus:
Ou PaysID est l'identifiant clavier et hWnd est le pointeur du nouveau processus lancé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 private void EnvoyerMsg(IntPtr hWnd, string PaysID) { IntPtr Layout; IntPtr lRes; IntPtr Param1 = new IntPtr(1); Layout = LoadKeyboardLayout(PaysID, KLF_ACTIVATE); StringBuilder sb = new StringBuilder(256); SendMessage( hWnd, // handle to destination window 80, // message Param1, // first message parameter Layout // second message parameter ); SendMessageTimeout(hWnd, WM_INPUTLANGCHANGEREQUEST, IntPtr.Zero, Layout, SendMessageTimeoutFlags.SMTO_ABORTIFHUNG, 1000, out lRes); }
D'avance merci pour tout coup de pouce.
Bonne journée à tous.
Partager