PB sendimput et Citrix

Résolu
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016 - 31 mai 2007 à 21:42
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016 - 29 juin 2007 à 12:42
Bonjour


J'utilise l'api   SendInput pour simuler l'appuie sur une touche ou une
action de la souris

cela marche bien pour toute appli windows

mais lors que je veux manipuler une appli tournant sous Citrix les actions
claviers sont sans effets

pour la souris là pas de problèmes

2 réponses

fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
29 juin 2007 à 12:42
Enfin trouvé
Merci ElCouz
je faisais ceci

var
keyimput : TInput ;
begin
keyimput.Itype := INPUT_KEYBOARD;
with keyimput.ki do
begin
wVk := key;
dwFlags := 0 ou $200; // appuie touche ou relachement
end;
SendInput(1, keyimput, SizeOf(keyimput));
end;

pour corriger il fallait definir wScan := MapVirtualKey(wVk ,0);

with keyimput.ki do
begin
wVk := key;
wScan := MapVirtualKey(key,0);
dwFlags := 0 ou $200; // appuie touche ou relachement
end;

et là çà marche
3
ELCouz Messages postés 135 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 25 juillet 2008
1 juin 2007 à 12:54
Salut,

Alors faudrais p-e passer par un mode low-level pour simuler lappuie des touches ,, jme rapel en avoir vu sur torry.net

http://www.swissdelphicenter.ch/torry/showcode.php?id=220

je te conseil l'api SendMessage ,, c'est recommande quand quon veux emuler lapuie dune touche ex: dans un jeux directx donc sa devrais marcher

ex: SendMessage(Button1.Handle, WM_KEYDOWN, VK_RETURN, 0); simule la touche enter

Laurent!
0