cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008
-
31 déc. 2003 à 01:32
tularis
Messages postés21Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention12 juillet 2009
-
25 mars 2007 à 18:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
tularis
Messages postés21Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention12 juillet 2009 25 mars 2007 à 18:03
bon bah,
c'est ce que je pensais, c'est une site d'amateur ...
Aucun filtrage des source, aucune exigence.
Encore une grosse deception, non respect des normes,
code non commenter, ...
Je retourne sur developez.com et sur la msdn, ici je perd mon temps.
Peut etre que quand j'aurai le temps, je devrai faire un site comme celui ci mais avec de la qualité ...
cs_LaPatoshe
Messages postés53Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention19 décembre 2009 6 janv. 2005 à 00:09
bon programme pour apprendre, merci
cs_seed
Messages postés99Date d'inscriptionsamedi 1 février 2003StatutMembreDernière intervention19 mars 2005 29 août 2004 à 23:43
hilairenicolas
Messages postés398Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention15 juin 20072 29 août 2004 à 22:55
Bonjour, la dll n'est pas chargée dynamiquement avec loadlibrary, mais statiquement. le fichier de librairie est lié statiquement à l'édition de lien avec le .lib.
cs_seed
Messages postés99Date d'inscriptionsamedi 1 février 2003StatutMembreDernière intervention19 mars 2005 29 août 2004 à 22:43
Bonjour je viens de regarder ta source et en effet ca marche par contre je suis un peu étonné car je ne vois pas du tout ou tu charges la dll
Aucun fichier ne contient une loadLibrary comme sous BCB
Je me doute que ca doit etre dans les configs de VC++ que je ne maitrise pas du tout mais j'ai beau chercher je ne trouve pas ou tu as préciser de charger la DLL.
Pouriez vous m'éclairer un peu svp Merci
cs_mat74
Messages postés241Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention16 juin 2010 27 juil. 2004 à 16:52
scuz , en fait je croyais que ton prog ne fonctionnai pas car je n'avai pas de fichier log mais en fait apres avoir regarder le code j'ai vu que tu avais enregistrer le fichier log sur D et vu que mes partition son C,E,F ( ouai je sais po tres logique ms bon ) je ne trouvais pas de fichier log.
cs_mat74
Messages postés241Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention16 juin 2010 27 juil. 2004 à 16:51
scuz , en fait je croyais que ton prog ne fonctionnai pas car je n'avai pas de fichier log mais en fait apres avoir regarder le code j'ai vu que tu avais enregistrer le fichier log sur D et vu que mes partition son C,E,F ( ouai je sais po tres logique ms bon ) je ne trouvais pas de fichier log.
cs_mat74
Messages postés241Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention16 juin 2010 27 juil. 2004 à 16:51
scuz , en fait je croyais que ton prog ne fonctionnai pas car je n'avai pas de fichier log mais en fait apres avoir regarder le code j'ai vu que tu avais enregistrer le fichier log sur D et vu que mes partition son C,E,F ( ouai je sais po tres logique ms bon ) je ne trouvais pas de fichier log.
hilairenicolas
Messages postés398Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention15 juin 20072 27 juil. 2004 à 07:17
ben si ...
sinon, tu peux aussi faire autre programme qui au début crochete le clavier et le retourne à la normale à la fin, sur le meme schema que mon programme de test
cs_mat74
Messages postés241Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention16 juin 2010 26 juil. 2004 à 23:53
ben je sai po qd j'execute le programme teste , rien ne se passe , pendant les 15s qu'il reste actif . il ne devait po enregistrer les touches pressées ds un fichier
hilairenicolas
Messages postés398Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention15 juin 20072 26 juil. 2004 à 21:52
c'est quoi le probleme ? je n'ai pas compris ...
bon, je crois effectivement que je me suis gourré, si tout le monde le dit, c'est que j'ai du mal comprendre ce détail ; et bien, dans ce cas, augmentons la taille du tableau de 1 :)
cs_mat74
Messages postés241Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention16 juin 2010 26 juil. 2004 à 21:31
voila j'ai regarder ta source , c'est exactement dont j'avais besoin mais ia un pb je sais pas comment complete le teste pr que sa marche correctement .
@+
gabuzomeuh
Messages postés53Date d'inscriptionjeudi 31 juillet 2003StatutMembreDernière intervention28 mars 2007 4 mai 2004 à 23:28
hilairenicolas>
Bah oui
char findeligne[1] c'est un tableau a une seule case
char findeligne[2] c'est un tableau a 2 cases
la 1ere case du tableau c'est finDeLigne[0]
le 2eme case du tableau c'est finDeLigne[1]
donc il faut bien un tableau a 2 cases
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 4 mai 2004 à 23:13
hilairenicolas> char finDeLigne[1]; : tableau de 1 élément, donc finDeLigne[1] n'exite pas
plutot qu'un while, tu devrais utiliser un sleep qui utilise moins (pas) d'UC
gabuzomeuh
Messages postés53Date d'inscriptionjeudi 31 juillet 2003StatutMembreDernière intervention28 mars 2007 4 mai 2004 à 22:09
salut
J'ai récupéré VC++ 6.0 .
La compilation de ta Dll avec VC++ fonctionne, j'ai plus qu'a modifier le tout et je depose le résultat ici.
hilairenicolas
Messages postés398Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention15 juin 20072 4 mai 2004 à 08:41
en fait, le coup du gettickcount, j'ai fait ca parce que j'avais la flemme de faire autre chose pour illustrer le fonctionnement, mais tu peux très bien mettre une appli, une dialog box, ou autre chose, ca ne gene pas
gabuzomeuh
Messages postés53Date d'inscriptionjeudi 31 juillet 2003StatutMembreDernière intervention28 mars 2007 3 mai 2004 à 23:46
salut
- Je parle de boucle sans fin car toi tu utilises GetTickCount pendant 15 secondes mais pour que ca fonctionne en permanence il faut une boucle sans fin ce qui fait passer la charge du processeur à 100% dans le gestionnaire de taches meme pendant les 15 secondes. Moi je voudrais utliser le hook en permanence donc il faut une boucle sans fin qqpart.
- j'arrive à compiler ta dll sous borland 5.02 en enlevant #pragma comment(linker, "/SECTION:.maSection,RWS") mais quand je fais un getprocaddress des fonctions ca retourne 0.
ca m'enerve ! :)
hilairenicolas
Messages postés398Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention15 juin 20072 3 mai 2004 à 18:56
Salut,
- pourquoi tu parles de boucle sans fin ?
- j'ai pas utilisé borland pour compiler, mais je pense qu'à part refaire un projet et y mettre les sources dedans, ca devrait marcher sans problème
gabuzomeuh
Messages postés53Date d'inscriptionjeudi 31 juillet 2003StatutMembreDernière intervention28 mars 2007 2 mai 2004 à 23:53
salut
pas mal pour la dll mais 2 petits problemes:
1°) pour utiiser la dll correctement il faut l'introduire les fonctions dans une boucle sans fin ce qui fait passer la charge du processeur à 100%
2°) j'arrive à charger la dll dans un autre programme mais la recompiler avec borland c++ 5.02 et la charger ne fonctionne pas
hilairenicolas
Messages postés398Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention15 juin 20072 19 avril 2004 à 13:48
t'es sur de toi vecchio ?
je m'en sers de cette façon :
et uniquement comme ça
donc, j'écris bien 2 octets
c'est sur que si j'avais mis strlen(finDeLigne) ca aurait jamais marché
mais là, je crois que c'est bon
bien sur, par précaution (et on est pas à 1 octet pret en mémoire), il vaut peut-etre mieux ta solution mais je crois que la mienne fonctionne
A suivre ...
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 16 avril 2004 à 18:35
largoce
Messages postés9Date d'inscriptionsamedi 27 décembre 2003StatutMembreDernière intervention14 février 2005 9 janv. 2004 à 22:24
Ben de toute façon que ça soit avec ce zip ou un autre, j'ai toujours des messages d'erreurs... uniquement quand ça touche Win32 (enfin je crois). Pour les appli sous dos y a pas de problème. Quand je simule un appuie de touche de clavier ça marche.
J'ai la bible de prog de Kris Jamsa, et les exemples fournis sur CD ne marche pas non plus.
J'ai installé Visual studio 6, idem.
Pour le fichier de 40Ko, c'était justement le truc simulant des touches clavier enfoncé. Rien d'extraordinaire.
Et il est autonome je l'ai envoyé à un pote qu'à aucun logiciel de C/C++. Pour simuler un appuie sur 2 touches je pense que c'est carrément trop.
J'ai télécharger un truc (je sais plus lequel) du site, que j'ai pu compilé, et c'est quand j'ai vu la différence de poid avec celui qui été dans le zip que je me suis posé des questions.
Sinon je m'en serais pas aperçu.
J'ai DevC++ mais je crois qu'il me boude. Je compile, quand je veux exécuter il me dit que j'ai pas compiler.
Je sais que ce problème vient de moi, mais je ne sais d'où.
Pour couronner le tout, dans lcc j'ai pas les includes VCL.
Je vais essyer de trouver visual 2003, C mon dernier recours.
Pourtant tout marche bien sur ma bécane, 3DSMAX5, serveur php,...
Mais tout ce qui touche au C++, niet.
Si vous avez des idées n'hésitez pas.
Merci.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 9 janv. 2004 à 21:18
#pragma fonction avec BCB, j'en suis sur à 100%
hilairenicolas
Messages postés398Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention15 juin 20072 9 janv. 2004 à 19:59
Aucune idée ... peut-etre que le #pragma ne fonctionne pas avec borland, mais ca m'etonnerait pourtant.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 9 janv. 2004 à 19:28
et en plus l'exe de 40Ko de BCB6 n'est pas autonome ^^ si tu le compile en autonome tu obtiendras minimum 500Ko :-P
largoce
Messages postés9Date d'inscriptionsamedi 27 décembre 2003StatutMembreDernière intervention14 février 2005 9 janv. 2004 à 14:46
Bonjour,
J'ai un message d'erreur quand je veux compiler ta source à la ligne:
hookClavier = SetWindowsHookEx(WH_KEYBOARD, fonctionIntercepteClavier, moduleCourant, 0);
le message d'erreur:
[C++ Avertissement] hookClavier.cpp(9): W8094 Utilisation incorrecte de #pragma comment( <type> [,"string"] )
[C++ Erreur] hookClavier.cpp(101): E2034 Impossible de convertir 'long (__stdcall *)(int,unsigned int,long)' en 'int (__stdcall *)()'
[C++ Erreur] hookClavier.cpp(101): E2342 Mauvaise correspondance de type dans le paramètre 'lpfn' ('int (__stdcall *)()' désiré, 'long (__stdcall *)(int,unsigned int,long)' obtenu)
Bon d'accord, ça fait 3 ;-)
T'inquiète pas, je pense pas que ta source soit en cause.
J'ai C++ Builder 6 version entreprise (trial, télécharger sur le site de Borland) et j'ai toujours des erreurs de ce style à chaque fois que la source requiert une fenêtre et des fois pour autre chose.
Aurais-tu une idée ?
Sinon j'ai remarqué qu'en compilant avec lcc, un fichier .exe faisait 4 ko au lieu de plus de 40 ko compiler avec C++ Builder 6 ?
C'est koi l'arnaque ?
Qu'est-ce qu'il foute dedans pour décupler la taille ?
Merci pour vos aide.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 31 déc. 2003 à 01:32
25 mars 2007 à 18:03
c'est ce que je pensais, c'est une site d'amateur ...
Aucun filtrage des source, aucune exigence.
Encore une grosse deception, non respect des normes,
code non commenter, ...
Je retourne sur developez.com et sur la msdn, ici je perd mon temps.
Peut etre que quand j'aurai le temps, je devrai faire un site comme celui ci mais avec de la qualité ...
6 janv. 2005 à 00:09
29 août 2004 à 23:43
http://www.cppfrance.com/code.aspx?ID=21438
En faite c'était pas une mauvaise question ;-)
29 août 2004 à 22:55
29 août 2004 à 22:43
Aucun fichier ne contient une loadLibrary comme sous BCB
Je me doute que ca doit etre dans les configs de VC++ que je ne maitrise pas du tout mais j'ai beau chercher je ne trouve pas ou tu as préciser de charger la DLL.
Pouriez vous m'éclairer un peu svp Merci
27 juil. 2004 à 16:52
27 juil. 2004 à 16:51
27 juil. 2004 à 16:51
27 juil. 2004 à 07:17
sinon, tu peux aussi faire autre programme qui au début crochete le clavier et le retourne à la normale à la fin, sur le meme schema que mon programme de test
26 juil. 2004 à 23:53
26 juil. 2004 à 21:52
bon, je crois effectivement que je me suis gourré, si tout le monde le dit, c'est que j'ai du mal comprendre ce détail ; et bien, dans ce cas, augmentons la taille du tableau de 1 :)
26 juil. 2004 à 21:31
@+
4 mai 2004 à 23:28
Bah oui
char findeligne[1] c'est un tableau a une seule case
char findeligne[2] c'est un tableau a 2 cases
la 1ere case du tableau c'est finDeLigne[0]
le 2eme case du tableau c'est finDeLigne[1]
donc il faut bien un tableau a 2 cases
4 mai 2004 à 23:13
plutot qu'un while, tu devrais utiliser un sleep qui utilise moins (pas) d'UC
4 mai 2004 à 22:09
J'ai récupéré VC++ 6.0 .
La compilation de ta Dll avec VC++ fonctionne, j'ai plus qu'a modifier le tout et je depose le résultat ici.
4 mai 2004 à 08:41
3 mai 2004 à 23:46
- Je parle de boucle sans fin car toi tu utilises GetTickCount pendant 15 secondes mais pour que ca fonctionne en permanence il faut une boucle sans fin ce qui fait passer la charge du processeur à 100% dans le gestionnaire de taches meme pendant les 15 secondes. Moi je voudrais utliser le hook en permanence donc il faut une boucle sans fin qqpart.
- j'arrive à compiler ta dll sous borland 5.02 en enlevant #pragma comment(linker, "/SECTION:.maSection,RWS") mais quand je fais un getprocaddress des fonctions ca retourne 0.
ca m'enerve ! :)
3 mai 2004 à 18:56
- pourquoi tu parles de boucle sans fin ?
- j'ai pas utilisé borland pour compiler, mais je pense qu'à part refaire un projet et y mettre les sources dedans, ca devrait marcher sans problème
2 mai 2004 à 23:53
pas mal pour la dll mais 2 petits problemes:
1°) pour utiiser la dll correctement il faut l'introduire les fonctions dans une boucle sans fin ce qui fait passer la charge du processeur à 100%
2°) j'arrive à charger la dll dans un autre programme mais la recompiler avec borland c++ 5.02 et la charger ne fonctionne pas
19 avril 2004 à 13:48
je m'en sers de cette façon :
char finDeLigne[1];
finDeLigne[0]=(char)0x0D;
finDeLigne[1]=(char)0x0A;
WriteFile(fichier,finDeLigne,2,&octetsEcrits,NULL);
et uniquement comme ça
donc, j'écris bien 2 octets
c'est sur que si j'avais mis strlen(finDeLigne) ca aurait jamais marché
mais là, je crois que c'est bon
bien sur, par précaution (et on est pas à 1 octet pret en mémoire), il vaut peut-etre mieux ta solution mais je crois que la mienne fonctionne
A suivre ...
16 avril 2004 à 18:35
char finDeLigne[1];
finDeLigne[0]=(char)0x0D;
finDeLigne[1]=(char)0x0A;
il faut évidemment mettre
char finDeLigne[2];
finDeLigne[0]=(char)0x0D;
finDeLigne[1]=(char)0x0A;
9 janv. 2004 à 22:24
J'ai la bible de prog de Kris Jamsa, et les exemples fournis sur CD ne marche pas non plus.
J'ai installé Visual studio 6, idem.
Pour le fichier de 40Ko, c'était justement le truc simulant des touches clavier enfoncé. Rien d'extraordinaire.
Et il est autonome je l'ai envoyé à un pote qu'à aucun logiciel de C/C++. Pour simuler un appuie sur 2 touches je pense que c'est carrément trop.
J'ai télécharger un truc (je sais plus lequel) du site, que j'ai pu compilé, et c'est quand j'ai vu la différence de poid avec celui qui été dans le zip que je me suis posé des questions.
Sinon je m'en serais pas aperçu.
J'ai DevC++ mais je crois qu'il me boude. Je compile, quand je veux exécuter il me dit que j'ai pas compiler.
Je sais que ce problème vient de moi, mais je ne sais d'où.
Pour couronner le tout, dans lcc j'ai pas les includes VCL.
Je vais essyer de trouver visual 2003, C mon dernier recours.
Pourtant tout marche bien sur ma bécane, 3DSMAX5, serveur php,...
Mais tout ce qui touche au C++, niet.
Si vous avez des idées n'hésitez pas.
Merci.
9 janv. 2004 à 21:18
9 janv. 2004 à 19:59
9 janv. 2004 à 19:28
9 janv. 2004 à 14:46
J'ai un message d'erreur quand je veux compiler ta source à la ligne:
hookClavier = SetWindowsHookEx(WH_KEYBOARD, fonctionIntercepteClavier, moduleCourant, 0);
le message d'erreur:
[C++ Avertissement] hookClavier.cpp(9): W8094 Utilisation incorrecte de #pragma comment( <type> [,"string"] )
[C++ Erreur] hookClavier.cpp(101): E2034 Impossible de convertir 'long (__stdcall *)(int,unsigned int,long)' en 'int (__stdcall *)()'
[C++ Erreur] hookClavier.cpp(101): E2342 Mauvaise correspondance de type dans le paramètre 'lpfn' ('int (__stdcall *)()' désiré, 'long (__stdcall *)(int,unsigned int,long)' obtenu)
Bon d'accord, ça fait 3 ;-)
T'inquiète pas, je pense pas que ta source soit en cause.
J'ai C++ Builder 6 version entreprise (trial, télécharger sur le site de Borland) et j'ai toujours des erreurs de ce style à chaque fois que la source requiert une fenêtre et des fois pour autre chose.
Aurais-tu une idée ?
Sinon j'ai remarqué qu'en compilant avec lcc, un fichier .exe faisait 4 ko au lieu de plus de 40 ko compiler avec C++ Builder 6 ?
C'est koi l'arnaque ?
Qu'est-ce qu'il foute dedans pour décupler la taille ?
Merci pour vos aide.
31 déc. 2003 à 01:32
hooks avec Delphi ou Borland C++ Builder si ça peut aider qq un,
bonne journée ;-)