| Posté le 23 septembre 2005 - 03:24 |
Bonjour,
2 Méthodes :
une 1ere methode simple "pour simplifier la vie à un programmeur " c'est de créer un champ qui sera juste utilisé pour intersepter l'envoie d'une touche clavier. Exemple avec le champ : "Texte1" Envoietouche("A",Texte1) si sansespace(Texte1)="A" info("Alors là le Ver/Majuscule est desactivé","Saisie en minuscule") fin si sansespace(Texte1)="a" info("Alors là le Ver/Majuscule est activé","Saisie en majuscule") fin // Est oui c'est tout à fait le contraire de ce que le champ affiche!! "a" =>Maj//"A" =>Min à vous de tester ....... 
une 2eme methode 'pour planger dans le trou noir des API ' : il faut utiliser l'API windows correspondante et il faut traiter la chaine memorisée ds la variable !
tChaine est une chaine fixe sur 256 AppelDLL32("USER32","GetKeyboardState",&tChaine) //sachant que : // verouillage MAJ/MIN égale à = 21 // verouillage numerique égale à = 145 // verouillage Arrêt/défil. égale à = 146
//Pour le test de MAJ/MIN si milieu(tChaine,21,1)=Caract(1) info("La saisie est en MAJ") sinon info("La saisie est en MIN") fin
//Pour le test de VERR/NUM si milieu(tChaine,145,1)=Caract(1) info("Verouillage numérique actif") sinon info("Verouillage numérique inactif") fin
//Pour le test de ARRET DEFIL si milieu(tChaine,146,1)=Caract(1) info("Arrêt défil actif") sinon info("Arrêt défil inactif") fin
// Un cadeau de plus = API pour changer les valeurs (Actif/inactif) des 3 touches.
tChaine est une chaine fixe sur 256 AppelDLL32("USER32","GetKeyboardState",&tChaine) // verouillage MAJ/MIN égale à = 21 // verouillage numerique égale à = 145 // verouillage Arrêt/défil. égale à = 146 VotreTouche est un entier // ! ou 5 ou 6 suivant votre cas utilisez ! //pour activer la touche // caract(1) pour la desactiver Carct(0) tchaine=tChaine[[1 à (VotreTouche-1)]]+Caract(1)tChaine[[(VotreTouche+1) à 256]] AppelDLL32("USER32","SetKeyBoardState",&tChaine)
NB: l'API Change la valeur de la touche mais n'allume pas le temoin lumineu du clavier
Bon dev.
Ali Hindi AliDev7@yahoo.fr |
| |
| |
|