begin process at 2012 02 11 22:09:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > EVENEMENT RACCOURCIS CLAVIER

EVENEMENT RACCOURCIS CLAVIER


 Information sur la source

Note :
9,44 / 10 - par 9 personnes
9,44 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :Hotkey, raccourci, clavier, focus Niveau :Débutant Date de création :03/06/2003 Date de mise à jour :13/01/2009 08:37:23 Vu / téléchargé :5 484 / 992

Auteur : Renfield

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (34)
Ajouter un commentaire et/ou une note


 Description

cette classe permet d'enregistrer auprès du système une combinaison de touches. Ensuite, vous êtes avertis quand cette combinaison est activée,

MEME SI VOTRE APPLICATION N'A PAS LE FOCUS !!!!!






 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

26 juillet 2004 12:33:11 :
Changement de l'architecture, pour permettre l'utilisation de plusieurs raccourcis
12 janvier 2009 14:25:37 :
Ajout de sublassing, pour éviter cette horrible et lourde boucle de message faite maison
13 janvier 2009 08:37:24 :
Ajouté un exemple d'utilisation plus complexe

 Sources du même auteur

Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ...
Source avec Zip Source avec une capture JSON PARSER - ANALYSE DE CHAINES JSON
Source avec Zip Source avec une capture MODULE DE TÉLÉCHARGEMENT DE FICHIER BASIQUE (SYNCHRONE / ASY...
Source avec Zip COURS DE PILOTAGE........D'APPLICATIONS
Source avec Zip CSOCKET - REMPLACEZ WINSOCK PAR LA VERSION 2 DES API

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture VBA MASQUE DE SAISIE NUMÉRIQUE par acive
Source avec Zip Source avec une capture MASQUE DE SAISIE NUMÉRIQUE par acive
Source avec Zip INTERCEPTER L'APPUI DE TOUCHES AU NIVEAU SYSTÈME par Fixnyl
Source avec Zip Source avec une capture AJOUTER N'IMPORTE QUEL RACCOURCI À VOS MENUS (HOOK CLAVIER) par violent_ken
Source avec Zip Source avec une capture CTRL ALT END : UN NOUVEAU RACCOURCI CLAVIER PERMETTANT DE TU... par MadM@tt

Commentaires et avis

Commentaire de legion91 le 04/06/2003 17:46:46

Je te remercie vraiment d'avoir non seulment repondu a ma kestion dans le forum(http://www.vbfrance.com/forum.aspx?article=67865) mais aussi d'avoir postez cette source ki marche impec, chapeau ;-) et encore merci.

Commentaire de Matth1986 le 06/06/2003 18:37:16

merci pour ta source (surtout pour ton module de classe). elle m'a bien servi dans un prog de chargement de site internet (raccourci Crtl+Enter permettant d'ajouter www."ton adresse" .com)

Commentaire de ezekiel95 le 29/09/2003 14:14:46

Une bonne ame pourrait elle me dire comment faire pour s'en servir sous VBA?Je ne peux importer que la classe et je m'y connais moyen en manipulation de classe...

Merci d'avance!

Commentaire de Renfield le 29/09/2003 14:53:57 administrateur CS

Je ne m'y connais helas pas en VBA.

je ne pense cependant pas que l'utilisation de cette classe soit vraiment differente de l'utilisation que tu pourrais en faire en VB...

Commentaire de rnosat le 11/01/2004 15:03:15

Euh,
moi, sous windows xp avec vb6 prof, la pression de CTRL + SHIFT  + Q ne produit rien ! la form reste affichée sans devenir "maximized" ou "minimized".
Je ne vois pas la source de l'erreur, idéees ?
Rnosat

Commentaire de Renfield le 11/01/2004 20:18:23 administrateur CS

Voilà rnosat, c'est corrigé....

Commentaire de rnosat le 12/01/2004 20:20:28

Super renfield, ca marche, merci !
voila un code super utile ... et surtout qui consomme peu de ressoures !
A la prochaine !
Rnosat

Commentaire de ezekiel95 le 13/01/2004 09:32:53

Dis moi, j'en reviens toujours a ma question sur vba:
Ce type de form n'est pas gérer par vba mais tout le code est dans la classe "ReyHotKey" et est donc utilisable,non?
Quelle classe faut il instancier pour débuter le programme?

Bizoo ;-)

Commentaire de Renfield le 13/01/2004 11:03:07 administrateur CS

Sans doute que c'est possible.... si tu peux importe la classe HotKey
il te suffirais de copier coller le code présent dans la form, enfin, a quelques details pres, je pense, je te l'ai dit, VBA, je connais pas trop !

Commentaire de NoFutur le 08/03/2005 17:13:35

Merci pour la source, c'est nickel pour moi :-)
10/10

@plus

Commentaire de Bilou972 le 09/04/2005 01:32:24

Salut,
ta source me donne preske la solution que je cherche, connaitrais tu un moyen d interagir avec des applications grace aux touches multimedia d' un clavier??
je pense aux keycodes, mais je n'ai pa reussi a les integrer a ta source.

voila mes keycodes :
suivant : 176
play : 179
stop : 178
precedent : 177

Commentaire de gmni le 18/04/2005 15:29:36

Ce code est exellent sauf que...
Sur mon projet il y a plusieurs fenetres. En quittant mon prog, j'ai des erreurs du type "Objet was unload", et il est impossible de fermer la fenetre principale. Quand je met ton code sur celle-ci, l'interface disparait brusquement, rien ce passe... Sinon sur une autre form il y a toujours un bug quand je quitte... Bien étrange non ?

Commentaire de Renfield le 18/04/2005 15:36:10 administrateur CS

étrange....

comment quittes tu ton application ?
(code / bouton X ... )

Commentaire de gmni le 18/04/2005 16:12:42

Mon programme est tres lourd.
J'ai un "Form_Unload" sur la form principale avec ce type d'evénements :
Unload about
Unload Chemin
Unload conf
Unload debut
Unload infos
Unload listz
Unload mini
Unload wait
J'ai aussi essayé avec un QueryUnload.

Type d'erreurs :
'
Quand du systray j'ouvre ma fenetre principale, erreur :
"Object was unloaded"
Il me marque en jaune le nom de la form qui contient ton code:
ex: racc.hide
'
Quand je quitte avec le bouton X de la fenetre principale: Rien ce passe.
'
Quand je quitte à partir du systray (form fille du programme):
"Run-time error '365'
Unable to unload within context"
Il me marque "Unload F1" (F1 est la form principale).
'''
J'ai l'impression que ta source prend le dessus sur tous les evenements, meme quand on desactive
avec "HotKey.StopProcessing".
Alors comment la désactiver completement ?

Commentaire de gmni le 18/04/2005 18:05:18

Désolé, en fait le truc etait de mettre ton code sur la form "main", ou la prmiere form de demarrage,
Sinon merci pour ton attention,
a+ gmmni

Commentaire de Renfield le 19/04/2005 12:49:03 administrateur CS

Merci de l'info...

pour décharger simplement toutes les fenetres ouvertes dans ton appli... :

Private Sub Form_Unload()
   Dim Form as Form
   For Each Form In Forms
       If Not Form Is Me Then
             Unload Form
       End If
   Next Form
End Sub

Commentaire de DeathVB le 07/12/2005 18:03:39

salut

On pourra pas par exemple affecter un raccourci à un programme sous windows pour l'ouvrir ou le fermer ?

Commentaire de Renfield le 07/12/2005 18:35:35 administrateur CS

Si, bien sur...
Shell pour lancer le programme, et un petit appel à FindWindow et DestroyWindow, pour chercher, et fermer le programme "cible"..

Commentaire de DeathVB le 07/12/2005 19:26:02

à condition que l'application soit fermer !

autrement dit:
si par exemple j'appuie sur (Ctrl+E), windows connais le raccourci et ouvre le programme associé !

je pense qu'il faut mettre quelque chose dans la base de registre ?!

Commentaire de Renfield le 08/12/2005 00:15:04 administrateur CS

la base de registres ? pour quoi faire

Commentaire de DeathVB le 08/12/2005 00:24:18

bah oui puisque l'application sera fermer, je ne vois pas comment on va ouvrir Word par exemple;
alors il faut enregistrer le raccourci quelques par dans windows et je pense que c'est dans la base de registre !

Commentaire de Renfield le 08/12/2005 09:48:27 administrateur CS

J'avoue ne pas saisir...

Ce que j'ai compris :
Tu souhaite faire un petit programme, qui tourne, admettons dans le Systray...
Quand tu presses par exemple sur Ctrl + E :
  - Si le Bloc-Notes est fermé, le lancer
  - S'il est ouvert, le fermer...

si c'est bien cela, je dirais que dépendant du programme cible, il peu être maladroit voire dangereux de le fermer d'autorité...

Commentaire de SkyRocKo le 11/01/2006 20:48:46

Waouh...

Superbe source qui répond 100% à mes besoins !!!

Bonne continuation !

Commentaire de titicar le 15/09/2006 18:42:29

Vu la date du post, j'arrive un peu en retard... comme d'hab!
En tout cas, bravo pour cette classe. Je ne savais même pas que ça existait.
Je ne l'ai pas testé en grandeur nature, mais un 9/10 me semble logique.

Par contre, pour trouver le vbKey de la touche PLAY de mon clavier multimédia... c'est pas évident, surtout si l'aide que j'ai trouvé sur vbKey dans VB date de 1995 (le multimédia existait à cette époque?)!
Alors pour ce qui sont dans le même cas que moi, y a une API qui s'en occupe : GetAsyncKeyState.

Créez un nouveau projet avec un TextBox (name=Text1) et un Timer (name=Timer1) et copiez le text suivant dans la Form:

Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
' Cet API vous donnera le code vbKey associé à la touche préssée.
' Pour le code des touches 'usuelles', se référer à
'   - l'aide de VB en tapant VBKEY dans la recherche
'   - à la page http://www.vbfrance.com/codes/COMMENT-CONNAITRE-MOTS-PASSE-FACON-PLUS-SIMPLISTE-MONDE_17232.aspx
' Pour les touches plutôt 'nouvelles' genre clavier multimédia avec touches PLAY etc, _
    je n'ai pas trouvé de nom conventionné comme par ex. vbKeyA pour la touche 'A'. _
    En toute logique pour PLAY, le nom serait vbKeyPlay, mais allez savoir...
    

Private Sub Form_Load()
    Text1.Text = vbNullString
    Timer1.Interval = 1
        ' L'interval UN (exprimé en milliseconde) est juste pour cet essai, histoire d'être sur _
        que la touche pressée sera 'captée' par le process Timer. _
        Faut pas oublier que cet interval aussi petit dérange le processeur inutilement.
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Dim myKey As Integer
    For myKey = 0 To 256 'on scanne toute les touche du clavier
        ' Normalement, mkey n'est jamais égal à zéro
        ' La boucle va jusqu'à 256 (valeur max 8 bits), mais votre clavier n'a sans doute pas autant de touches :-)
        If GetAsyncKeyState(myKey) <> 0 Then
            Text1.Text = myKey
        End If
    Next myKey
End Sub

Commentaire de titicar le 15/09/2006 18:54:58

Oups, j'ai oublié de préciser. J'ai Win XP et chez moi, la touche PLAY du clavier correpond au code 179. J'espère que c'est pareil pour tout le monde :-(

Commentaire de Duke49 le 21/09/2007 01:54:39

Merci !
Une source vraiment excellente.

Commentaire de PaTaTe le 12/01/2009 13:02:29

Je viens de remarquer une chose. Tant que je ne dépasse pas 3 raccourcis, la classe fait son office ; A partir de 4, tout code qui suis les Register ne sont pas exécutés (ce qui inclus ProcessMessages donc la classe ne tourne pas).

Une idée pour corriger cela ?

Commentaire de Renfield le 12/01/2009 14:26:29 administrateur CS

retestes (j'ai uploadé la chose, en la modifiant pas mal)

Commentaire de PaTaTe le 12/01/2009 14:54:16

Le code fonctionne impacablement. Je l'integrerais tout à l'heure pour vérifier si c'est toujours le cas dans mon projet.

Sinon à quoi sert la classe ISubclasser.cls ? A rien à première vue :)

Commentaire de Renfield le 12/01/2009 14:58:25 administrateur CS

sisi.

c'est une interface utilisée pour l'instruction
   Implements ISubclasser
du ReyHotKey

Commentaire de PaTaTe le 12/01/2009 15:55:47

L'intégrer dans l'autre classe n'était pas possible (vue le peu de code lol) ?

Sinon la classe ne fonctionne pas dans mon projet au delà de 3. Pareil que l'ancienne mise à part que parfois elle ne n'initialise même pas.

Commentaire de Renfield le 12/01/2009 15:59:18 administrateur CS

:/

étrange, dans la maquette, ca tourne avec 5 ....

quel Windows as tu ?
quels sont les raccourcis souhaités ?

Commentaire de Renfield le 12/01/2009 16:00:15 administrateur CS

et pour le ISubclasser, non pas dans une autre.
ce module est reccurrent dans lmes projets, suffit d'ajouter le module et l'interface, ca tourne direct, sans se poser de question...

l'interface est une garantie de ne pas oublier de code ^^

Commentaire de PaTaTe le 12/01/2009 16:07:53

Les raccourcis souhaités sont configurable dans l'interface de mon programme. donc tous on va dire ^^

Sinon j'ai testé sous XP et Vista, même soucis.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Focus + Bruit textbox [ par ABF ] Bonjour, je suis en train de développer une app et : J'ai un raccourci clavier qui permet de la masquer/afficher or lorsque je clique sur mon bureau Raccourci clavier dans un userform (VBA) [ par fanjomtl ] Bonjour à tousJ'ai fait un userform dans l'éditeur VB de Excel. J'aimerai associer la touche Q du clavier à mon "Command button"  Quitteret les touche raccourci clavier et threads [ par julien__ ] Bonjour, je suis sous vb.net 2003,je cherche à faire des raccourcis clavier disponibles dans d'autres applications... je voudrais faire tourner l'appl Creer son propre raccourci clavier [ par aurelie2003 ] Bonjour,Je souhaite ajouter un raccourci clavier pour un MenuItem dans un mainMenu. Le problème est que ce raccourci clavier ne fait pas partie de ceu Raccourci clavier [ par Francks11 ] Bonsoir, voila je suis entrain de développer un intranet. Afin de faciliter l'accès sur l'intranet, je souhaite ajouter des raccourcis claviers, mais Raccourci clavier des boutons [ par fred2567 ] Bonjour ,j'ai un petit problème concernant VBA/excel sur la propriété caption il ne traduit pas le &amp; comme le caractère de raccourciquelqu'un at'i Raccourci clavier PowerPoint [ par cadreur75 ] Bonjour à tous.Je cherche un moyen simple, VB ou pas, pour une utilisation particulière de powerpoint. Sur une scene de spectacle, un comedien aura un Raccourci clavier [ par DeathVB ] Salut tout le monde !Peut on faire un raccourci clavier &#224; une application; du genre : "Ctrl + E" =&gt; execute l'application, "Ctrl + Q</ raccourci clavier [ par adnotlegland ] bonjour &#224; tous,j'ai un vieux clavier qui contient des touches raccourci genre: "aide", "trouver", "imprimer", "fax", etc.... et vu que les driver raccourci clavier [ par hassni55 ] slt, j'ai un petit probl&#232;me je veux quand l'utilisateur appuie sur la touche de fonction F8, une autre form devra afficher merci j'ai essay&#233;


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales