cs_shadowshine
Messages postés4Date d'inscriptionjeudi 1 décembre 2005StatutMembreDernière intervention 5 décembre 2005 3 déc. 2005 à 05:04
ok pardon, jai installé le SDK, du coup j'include le windows.h, mais à la compile il me dit toujours que la fonction SendInput n'existe pas.. help :(
cs_shadowshine
Messages postés4Date d'inscriptionjeudi 1 décembre 2005StatutMembreDernière intervention 5 décembre 2005 3 déc. 2005 à 04:34
chui un newbie com on les aime pas, mais je fais comment sachant que windows.h n'existe pas sous visual C++ 2005 ? :/
brownfire
Messages postés25Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention 3 mai 2006 2 déc. 2005 à 18:21
a moi pour simuler les touches du clavier j'utilise
keybd_event (VK_NOMDELATOUCHE,0,0,0);
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 2 nov. 2005 à 22:44
essaie
#define _WIN32_WINNT 0x0500
AVANT
#include <windows.h>
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011 2 nov. 2005 à 22:41
à insérer en début de source :
#include <windows.h>
Eventuellement télécharger le dernier SDK si rien n'y peut.
piranhaworld
Messages postés10Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention 9 juillet 2007 2 nov. 2005 à 22:38
je suis encore un newbi en C++, mais à la compil (sous VCPP) il me sort "'INPUT' : undeclared identifier" du coup s'enchaine une 20aine d'erreur..
je suis bien parti du .cpp du zip.. (quand même)
merci
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 27 oct. 2005 à 22:36
Je l'ai déjà écrit plus haut:
"De toute manière c'était vraiment parce qu'on voit souvent cette question sinon l'envoi de touches clavier sur un system multitache est vraiment à bannir."
Oeil_de_taupe
Messages postés150Date d'inscriptionsamedi 31 janvier 2004StatutMembreDernière intervention16 février 2009 27 oct. 2005 à 21:43
A noter que keybd_event a été remplcé par SendInput. Mais dans quel cas nous avons besoin de cette fonction? Ce ne serait pas un peu du bricolage? (je veux dire par là qu'il y a d'autre solutions qui me paraissent plus intéréssantes)
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 17 oct. 2005 à 16:49
ha oui sorry
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 17 oct. 2005 à 15:16
Regarde dans la boucle du code, il y a bien les 2 états, appuyé et relaché.
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 17 oct. 2005 à 15:13
non, justement en évitant la boucle...
Il n'y a pas de fonction qui permet de simuler une touche enfoncée et une autre qui simulerait la touche lorsqu'elle est relevée ?
J'imagine qu'il s'agit juste de changer l'état d'une touche du clavier quelque part...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 oct. 2005 à 23:41
simuler pendant x secondes ???
Faudrait tout de même pas délirer, tu comptes ligoter l'utilisateur pendant ce temps ???
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011 16 oct. 2005 à 23:34
un bon vieux do/whlie pardi :D
void EnfoncerTouche(int Secondes,int touche)
{
DWORD Time1 = GetTickCount();
do
{
SendInput...
}
while(GetTickCount()-Time1 < Secondes*1000)
}
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 16 oct. 2005 à 23:30
sinon, comment faire pour simuler une touche enfoncée pendant x secondes ?
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011 15 oct. 2005 à 18:28
>l'envoi de touches clavier sur un system multitache est vraiment
>à bannir.
Sauf peut-être pour un virus qui a de l'humour :-D
victorcoasne
Messages postés1101Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention23 juillet 20237 15 oct. 2005 à 10:05
BruNew revient avec la sa nouvelle source toujours plus API !
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 15 oct. 2005 à 09:42
Je n'ai pas fait en 1 seul appel ici cause qu'on ne connait pas ce qui arrive en param, il aurait fallu faire 2 routines au cas où la longueur aurait été trop importante et aurait empêché l'alloc mémoire du tableau de INPUT.
De toute manière c'était vraiment parce qu'on voit souvent cette question sinon l'envoi de touches clavier sur un system multitache est vraiment à bannir.
cs_poppyto
Messages postés540Date d'inscriptiondimanche 29 décembre 2002StatutModérateurDernière intervention13 mai 2011 15 oct. 2005 à 09:32
Pas mal :). A noter qu'on peut se servir de la structure MOUSEINPUT pour déplacer/cliquer la souris. Pour information, La différence entre keybd_event/mouse_event et SendInput est que SendIpnut accepte une liste de structure. Du coup on peut écrire tout une séquence (pour une démo?) et n'effectuer qu'un appel de fonction.
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 14 oct. 2005 à 23:56
faut que je me mette a l'asm lol, heuresement que j'ai 1 minimum de notion sinon ça aurait été du chinois, merci encore !
Tans que j'y suis, je préviens que je travaille a une nouvelle version de filesender qui approche de sa maturitée finale (je l'adore ce petit), je rappelle le lien http://www.cppfrance.com/code.aspx?ID=33958.
Encore merci brunews ...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 oct. 2005 à 23:32
cdecl : params sur stack, appelant dépile, c'est pas le rapide mais ça permet les fonctions avec nbr de params indéfinis (sprintf par exemple).
stdcal : params sur stack, fonction dépile.
fastcall : les 2 premiers params par registre (ECX puis EDX), le reste sur stack, fonction dépile. C'est 'normalement' le plus rapide mais il convient d'étudier chaque cas.
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 14 oct. 2005 à 23:24
bonjour brunews, j'ai une question :
A quoi servent __stdcall, __fastcall et l'autre dont je me souviens plus le nom, je me doute que c'est une facon d'appeller la fonction (lors de la tranformation en asm) mais je suis pas sur ...
3 déc. 2005 à 15:10
3 déc. 2005 à 09:41
#define _WIN32_WINNT 0x0501
#define _WIN32_IE 0x0501
#include <windows.h>
3 déc. 2005 à 05:10
error LNK2001: unresolved external symbol "extern "C" int __stdcall GetKeyboardState(unsigned char *)" (?GetKeyboardState@@$$J14YGHPAE@Z)
error LNK2001: unresolved external symbol "extern "C" void __stdcall keybd_event(unsigned char,unsigned char,unsigned long,unsigned long)" (?keybd_event@@$$J216YGXEEKK@Z)
3 déc. 2005 à 05:04
3 déc. 2005 à 04:34
2 déc. 2005 à 18:21
keybd_event (VK_NOMDELATOUCHE,0,0,0);
2 nov. 2005 à 22:44
#define _WIN32_WINNT 0x0500
AVANT
#include <windows.h>
2 nov. 2005 à 22:41
#include <windows.h>
Eventuellement télécharger le dernier SDK si rien n'y peut.
2 nov. 2005 à 22:38
je suis bien parti du .cpp du zip.. (quand même)
merci
27 oct. 2005 à 22:36
"De toute manière c'était vraiment parce qu'on voit souvent cette question sinon l'envoi de touches clavier sur un system multitache est vraiment à bannir."
27 oct. 2005 à 21:43
17 oct. 2005 à 16:49
17 oct. 2005 à 15:16
17 oct. 2005 à 15:13
Il n'y a pas de fonction qui permet de simuler une touche enfoncée et une autre qui simulerait la touche lorsqu'elle est relevée ?
J'imagine qu'il s'agit juste de changer l'état d'une touche du clavier quelque part...
16 oct. 2005 à 23:41
Faudrait tout de même pas délirer, tu comptes ligoter l'utilisateur pendant ce temps ???
16 oct. 2005 à 23:34
void EnfoncerTouche(int Secondes,int touche)
{
DWORD Time1 = GetTickCount();
do
{
SendInput...
}
while(GetTickCount()-Time1 < Secondes*1000)
}
16 oct. 2005 à 23:30
15 oct. 2005 à 18:28
>à bannir.
Sauf peut-être pour un virus qui a de l'humour :-D
15 oct. 2005 à 10:05
15 oct. 2005 à 09:42
De toute manière c'était vraiment parce qu'on voit souvent cette question sinon l'envoi de touches clavier sur un system multitache est vraiment à bannir.
15 oct. 2005 à 09:32
14 oct. 2005 à 23:56
Tans que j'y suis, je préviens que je travaille a une nouvelle version de filesender qui approche de sa maturitée finale (je l'adore ce petit), je rappelle le lien http://www.cppfrance.com/code.aspx?ID=33958.
Encore merci brunews ...
14 oct. 2005 à 23:32
stdcal : params sur stack, fonction dépile.
fastcall : les 2 premiers params par registre (ECX puis EDX), le reste sur stack, fonction dépile. C'est 'normalement' le plus rapide mais il convient d'étudier chaque cas.
14 oct. 2005 à 23:24
A quoi servent __stdcall, __fastcall et l'autre dont je me souviens plus le nom, je me doute que c'est une facon d'appeller la fonction (lors de la tranformation en asm) mais je suis pas sur ...