NRO SERIE PROCESSEUR (WIN32)

Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010
- - Dernière réponse : cs_oliverman
Messages postés
40
Date d'inscription
samedi 14 décembre 2002
Statut
Membre
Dernière intervention
5 juillet 2007
- 27 avril 2004 à 16:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19713-nro-serie-processeur-win32

Afficher la suite 
gagah1
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010
-
Salut!!
On apprend pas mal des choses avec tes sources, mais dès fois tu compliques les instructions . Comme ici la fonction MessageBox(.....,0x40), pourquoi tu mets 0x40 au lieu de MB_ICONASTERIX|MB_OK , y a-t-il une difference? Merci.
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
par flegme du clavier, t'as vu comme 0x40 est plus court ?
Pour info MB_OK vaut ZERO, alors utilite de ORer un nombre avec 0 ?
vecchio56
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7 -
Tu pourrais aussi écrire 64 qui est plus rapide à écrire que 0x40; en plus tu n'appuies qu'une fois sur shift.
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
ok mais je dois aussi composer avec ma memoire, 40 et 30 pour exclamation sont simples a retenir.
BlackGoddess
Messages postés
338
Date d'inscription
jeudi 22 août 2002
Statut
Membre
Dernière intervention
14 juin 2005
-
mmh ... et puis si un jour MS decide pour une raison quelconque de changer, par exemple MB_ICONINFORMATION = 0 bin si tu avais pris 1/2 sec de ton précieux temps, bin ton prog marcherait tjs :p

le reprise de prog sont si compliqués a cause d'écriture comme ca...

enfin sur cette critique plutot négative, v voir la source :)
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
Ce genre de constante est inchangeable par qui que ce soit, meme et surtout par MS, plus aucun prog ne tournerait.
BlackGoddess
Messages postés
338
Date d'inscription
jeudi 22 août 2002
Statut
Membre
Dernière intervention
14 juin 2005
-
a mais tres jolie source par contre :)

juste une petite chose :
__declspec(naked) sert si je me rappelle bien a virer l'entete de la fonction ? dans ce cas, a quoi ca sert de rajouter __stdcall qui spécifie une entete je crois ?

enfin ca doit bien etre utile, vu que si je l'enleve ca marche plus :p
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
__declspec(naked) empeche le compilo d'y foutre ses pattes completement, on ecrit donc asm vrai, des sauvegardes de registres jusqu'au retour de la fonction.
__stdcall est une des conventions d'appel ou c'est l'appele qui depile les params (API standard) a l'inverse de l'habitude C ou c'est l'appelant qui depile.
BlackGoddess
Messages postés
338
Date d'inscription
jeudi 22 août 2002
Statut
Membre
Dernière intervention
14 juin 2005
-
ah, bien merci pour ces précisions :)
(et la rapidité de réponse lol :p)
cs_oliverman
Messages postés
40
Date d'inscription
samedi 14 décembre 2002
Statut
Membre
Dernière intervention
5 juillet 2007
-
Merci, ca dechire!!!
Par contre, je me pose une petite question:
Quand je le mets dans le Winmain ca marche nikel, mais quand je creer une fonction, ca deconne. Tu n'aurais pas une idée d'ou pourrais venir mon probleme??
Merci!
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
Si tu respectes les conventions d'appel, aucune raison que ça deconne.
cs_oliverman
Messages postés
40
Date d'inscription
samedi 14 décembre 2002
Statut
Membre
Dernière intervention
5 juillet 2007
-
Humm, en fait je pense avoir trouvé le probleme. Ma fonction, je l'ai appellé dans WM_INITDIALOG de mon callback, alors que si je l'appelle dans mon main, ca marche nikel. Je pense que ca bug parce que tu ne sauvegarde pas tes registre avant de t'en servir. Tu en pense quoi???
En tout cas, tu n'imagine meme pas comment ca m'aide.

Autre question, comment tu fais pour savoir autant de truc en VC??
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
Je te refais l'exemple dans dialogbox.
On n'a pas a sauvegarder les 3 registres generaux (EAX,ECX,EDX), par contre EBX doit l'etre en prog Windows.
Tu reprendras zip des que maj de source sera faite.
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
oliverman > comme prevu va nickel en dlgbox. Teste sur 98(nro indisponible, P200), XP et 2003 Server.
cs_oliverman
Messages postés
40
Date d'inscription
samedi 14 décembre 2002
Statut
Membre
Dernière intervention
5 juillet 2007
-
pfff. Bon ben vraiment, le VC++ restera toujours un mystere pour moi.
Je vais me retaper mon code pour essayer de denicher une petite erreur. En tout cas ton prog marche tres bien.
Merci.