Dans Windows 8 et Windows 10 avant la mise à jour Anniversary, il était possible d'afficher le clavier tactile en démarrant
C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe
Cela ne fonctionne plus dans la mise à jour Anniversaire de Windows 10; le processus TabTip.exe
est en cours d'exécution, mais le clavier n'est pas affiché.
Y a-t-il un moyen de l'afficher de manière programmatique?
MISE À JOUR
J'ai trouvé une solution de contournement - un clic de souris simulé sur l'icône du clavier tactile dans la barre système. Voici le code en Delphi
// Trouver la fenêtre de l'icône de la barre système
function FindTrayButtonWindow: THandle;
var
ShellTrayWnd: THandle;
TrayNotifyWnd: THandle;
begin
Result := 0;
ShellTrayWnd := FindWindow('Shell_TrayWnd', nil);
if ShellTrayWnd > 0 then
begin
TrayNotifyWnd := FindWindowEx(ShellTrayWnd, 0, 'TrayNotifyWnd', nil);
if TrayNotifyWnd > 0 then
begin
Result := FindWindowEx(TrayNotifyWnd, 0, 'TIPBand', nil);
end;
end;
end;
// Envoyer des messages de clic de souris
TrayButtonWindow := FindTrayButtonWindow;
if TrayButtonWindow > 0 then
begin
PostMessage(TrayButtonWindow, WM_LBUTTONDOWN, MK_LBUTTON, $00010001);
PostMessage(TrayButtonWindow, WM_LBUTTONUP, 0, $00010001);
end;
MISE À JOUR 2
Autre chose que j'ai trouvée est que le réglage de cette clé de registre restaure l'ancienne fonctionnalité où le démarrage de TabTip.exe montre le clavier tactile
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TabletTip\1.7\EnableDesktopModeAutoInvoke=1
1 votes
Avec chaque question posée à propos de TabTip.exe, je dois me demander : y a-t-il une API qui fait apparaître le clavier tactile de manière prise en charge ?
0 votes
Je préférerais utiliser une API si possible, mais je n'en ai pas trouvé. Et toutes les réponses sur SO font référence à TabTip.exe
1 votes
La recherche de TabTip.exe sur MSDN amène cela; est-ce correct? Sinon, le panneau d'entrée dont parle Raymond Chen ici est-il le même que celui fourni par TabTip.exe? Je ne peux pas vérifier les deux en ce moment.
0 votes
Oui, je pense que c'est ce dont j'ai besoin, malheureusement selon le MSDN, cela ne fonctionne plus sous Windows 10.
0 votes
Cette liaison MSDN implique que le système d'exploitation ouvre automatiquement le clavier pour vous, mais cela ne se produit pas pour une raison quelconque ? Peut-être l'article de la semaine suivante, alors ? Et le premier lien MSDN, est-ce la même interface ?
0 votes
Le premier lien MSDN fonctionne uniquement jusqu'à Windows 7. Ce nouveau post semble prometteur, je vais l'étudier. J'ai également trouvé une solution de contournement en simulant un clic de souris sur l'icône de la barre d'état.
0 votes
Vous ne pouvez pas simuler une saisie au clavier avec PostMessage.
0 votes
Ce n'est pas un clavier, c'est un clic de souris
0 votes
Cela ne fait pas de différence. Les problèmes sous-jacents sont les mêmes, que ce soit une saisie au clavier ou à la souris. Vous vous retrouverez avec un état système incohérent et, en fonction de qui vous demandez si le bouton gauche de la souris est enfoncé, la réponse peut être soit "Oui" soit "Non". Donc, non, vous ne pouvez pas simuler une saisie de souris avec
PostMessage
non plus.3 votes
Votre solution UPDATE 2 ne fonctionne pas pour moi. Quel type de clé créez-vous?
1 votes
J'ai créé la clé REG_DWORD
5 votes
@E-Bat Assurez-vous d'arrêter / de démarrer le service d'entrée de tablette après avoir ajouté la clé de registre (ou redémarrage).
0 votes
(since you're still active on the site) Si vous avez une réponse à votre propre question, postez-la en tant que réponse. Ne modifiez pas la question. Voir aussi Quand est-il approprié de modifier/mettre à jour un post