[..] Fonction hotkeyset()

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#41

Message par quelqun »

voila l'aide de autoit:

Code : Tout sélectionner

01 Left mouse button
02 Right mouse button
04 Middle mouse button (three-button mouse)
05 Windows 2000/XP: X1 mouse button
06 Windows 2000/XP: X2 mouse button
08 BACKSPACE key
09 TAB key
0C CLEAR key
0D ENTER key
10 SHIFT key
11 CTRL key
12 ALT key
13 PAUSE key
14 CAPS LOCK key
1B ESC key
20 SPACEBAR
21 PAGE UP key
22 PAGE DOWN key
23 END key
24 HOME key
25 LEFT ARROW key
26 UP ARROW key
27 RIGHT ARROW key
28 DOWN ARROW key
29 SELECT key
2A PRINT key
2B EXECUTE key
2C PRINT SCREEN key
2D INS key
2E DEL key
30 0 key
31 1 key
32 2 key
33 3 key
34 4 key
35 5 key
36 6 key
37 7 key
38 8 key
39 9 key
41 A key
42 B key
43 C key
44 D key
45 E key
46 F key
47 G key
48 H key
49 I key
4A J key
4B K key
4C L key
4D M key
4E N key
4F O key
50 P key
51 Q key
52 R key
53 S key
54 T key
55 U key
56 V key
57 W key
58 X key
59 Y key
5A Z key
5B Left Windows key
5C Right Windows key
60 Numeric keypad 0 key
61 Numeric keypad 1 key
62 Numeric keypad 2 key
63 Numeric keypad 3 key
64 Numeric keypad 4 key
65 Numeric keypad 5 key
66 Numeric keypad 6 key
67 Numeric keypad 7 key
68 Numeric keypad 8 key
69 Numeric keypad 9 key
6A Multiply key
6B Add key
6C Separator key
6D Subtract key
6E Decimal key
6F Divide key
70 F1 key
71 F2 key
72 F3 key
73 F4 key
74 F5 key
75 F6 key
76 F7 key
77 F8 key
78 F9 key
79 F10 key
7A F11 key
7B F12 key
7C-7F F13 key - F16 key
80H-87H F17 key - F24 key
90 NUM LOCK key
91 SCROLL LOCK key
A0 Left SHIFT key
A1 Right SHIFT key
A2 Left CONTROL key
A3 Right CONTROL key
A4 Left MENU key
A5 Right MENU key
BA ;
BB =
BC ,
BD -
BE .
BF /
C0 `
DB [
DC \
DD ]
 
et je ne vois pas trop comment vérifier si MAJ est activer :roll:
le but de mon programme c'est que quand je tape F majuscule il m'ouvre firefox quand je tape N majuscule il lance notepad quand je tape D majuscule il lance l'invite de command DOS quand je tape T majuscule il lance tor et puis voila.....

merci
Colin117
Niveau 5
Niveau 5
Messages : 114
Enregistré le : jeu. 18 nov. 2010 17:57
Localisation : Vers là bas !
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#42

Message par Colin117 »

Tu vérifies si Shift ou CAPS LOCK est activé avec "If" et "And"
► Afficher le texte
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#43

Message par quelqun »

Colin117 a écrit :Tu vérifies si Shift ou CAPS LOCK est activé avec "If" et "And"
tu voudrais dire un script du genre:

Code : Tout sélectionner

#include <Misc.au3>


While 1
    Sleep (50)
    If _IsPressed("14") Then
        MsgBox(0,"_IsPressed", "MAJ Key Pressed")
    EndIf
WEnd
sinon j'aimerais bien vérifier si MAJ et active puis effectuer une action.
un script comme:

Code : Tout sélectionner

func alpha_key()
    [focntion qui vérifie si maj et active] then
         run("notepad")
    else
         HotKeySet(@HotKeyPressed)
         send(@HotKeyPressed)
         HotKeySet(@HotKeyPressed, "alpha_key")
endfunc
hotkeyset("n","alpha_key")

while 1
     sleep(100)
wend
dans ce script si je tape N majuscule le bloc note se lance sinon il y a rien.

merci bien
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#44

Message par quelqun »

rien?
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#45

Message par TommyDDR »

Je suis désolé mais quand je vois un code du genre

Code : Tout sélectionner

 HotKeySet(@HotKeyPressed)
send(@HotKeyPressed)
HotKeySet(@HotKeyPressed, "alpha_key")
Je ne vois qu'un keylogger derrière ca, le nombre de fois où vous avez esquivé ma question du "que fait votre programme" et votre flood n'arrange pas les choses...

J'espère fortement me tromper, mais j'en doute...

PS : On ne créé pas un keylogger avec des HotKeySet()
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#46

Message par zeshrek »

Je dois dire que je suis d'un avis assez proche de celui de TommyDDR, et que mon groin d'ogre détecte des éffluves de script sulfureux.
En effet, l'indication qui a été donnée il y a qq jours :
quelqun a écrit :le but de mon programme c'est que quand je tape F majuscule il m'ouvre firefox quand je tape N majuscule il lance notepad quand je tape D majuscule il lance l'invite de command DOS quand je tape T majuscule il lance tor et puis voila.....
Me semble pour le moins suspecte, parceque détourner les touches 'normales' pour en faire un launcher, ressemble a un GROS f*utage de gu*ule !
Pour vérifier, je me suis livré a un petit test avec le code suivant :

Code : Tout sélectionner

HotKeySet("n","lancenote")
HotKeySet("x","sortie")
While 1
    sleep(100)
WEnd
func lancenote()
    Run(@WindowsDir & "\Notepad.exe")
EndFunc
func sortie()
    Exit
endfunc
Bizarement a chaque fois que je suis dans le notepad et que je tape la touche 'n', pouf ! il m'ouvre un nouveau notepad. Donc ce launcher serait tout sauf pratique, il faudrait le désactiver a chaque fois qu'il lance une application sous peine de le voir intercepter les touches préssées et lancer d'autres applis à la vollée.

Comme on est pas des sauvages, on va dire que le doute doit profiter a l'accusé, mais celui ci serait bienvenu de nous donner 2-3 infos, parmis lesquelles une réponse claire et précise de ce à quoi son script va servir.

Sans explication claire et précise sous 24h, le sujet sera locké.
[Copie en MP]
Si vis pacem para bellum
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#47

Message par quelqun »

TommyDDR a écrit :PS : On ne créé pas un keylogger avec des HotKeySet()
voila la réponse a ta question et tes doutes :wink:
zeshrek a écrit :Me semble pour le moins suspecte, parceque détourner les touches 'normales' pour en faire un launcher, ressemble a un GROS f*utage de gu*ule !
puisque j'utilise toujours les touches normales pour écrire et que les touches en majucules trés rarement, pourquoi ne pas en faire des raccourcis tout simple? et ne pas être dérranger qu'a chaque fois qu'on veut taper n minuscule y a le notepad qui se lance alors que les touches majuscules sa risque pas de me dérranger quand j'écris.
zeshrek a écrit :Comme on est pas des sauvages, on va dire que le doute doit profiter a l'accusé, mais celui ci serait bienvenu de nous donner 2-3 infos, parmis lesquelles une réponse claire et précise de ce à quoi son script va servir.

Sans explication claire et précise sous 24h, le sujet sera locké.
c'est ce que je viens de dire juste en haut.

je crois être assez claire et précis dans mes explications :)

merci
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#48

Message par Iste »

Si vous cherchez réellement a faire des raccourcit avec des touches inutilisées, pourquoi ne pas se contenter d'utiliser des "+n" (pour garder l'exemple du Nmaj) ?
Signez ici
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#49

Message par TommyDDR »

Toutes les informations vous ont pourtant été données.

Histoire de clore le sujet

Code : Tout sélectionner

If(_IsPressed("10")) Then
    ; Shift est pressé !
Endif
Cependant le caps lock ne sera pas pris en compte, mais peut importe pour vous étant donné que vous ne faite pas un keylogger ^^.

Bonne continuation.

PS : Iste a totalement raison, utilisez des HotkeySet("+n", "VotreFonction") et votre fonction ne sera appelée que lors d'un appui sur shift+n (même effet que mon code sauf que l'on fait un test de moins et on inclut un fichier de moins) => Adoptez la technique de Iste.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#50

Message par quelqun »

Iste a écrit :Si vous cherchez réellement a faire des raccourcit avec des touches inutilisées, pourquoi ne pas se contenter d'utiliser des "+n" (pour garder l'exemple du Nmaj) ?
désoler mais j'ai pas compris :|
TommyDDR a écrit :Toutes les informations vous ont pourtant été données.

Histoire de clore le sujet

Code : Tout sélectionner

If(_IsPressed("10")) Then
    ; Shift est pressé !
Endif
Cependant le caps lock ne sera pas pris en compte, mais peut importe pour vous étant donné que vous ne faite pas un keylogger ^^.

Bonne continuation.

PS : Iste a totalement raison, utilisez des HotkeySet("+n", "VotreFonction") et votre fonction ne sera appelée que lors d'un appui sur shift+n (même effet que mon code sauf que l'on fait un test de moins et on inclut un fichier de moins) => Adoptez la technique de Iste.
c'est pas trés pratique et ce n'est même pas ce que je voudrais faire.
bon voila quand on vois que c'est dur :cry: on veut juste savoir si c'est possible, si c'est possible de vérifier si MAJ est activer et la fonction qui permet de le faire, le reste je m'en occupe :wink:
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#51

Message par Iste »

quelqun a écrit : on veut juste savoir si c'est possible, si c'est possible de vérifier si MAJ est activer et la fonction qui permet de le faire, le reste je m'en occupe :wink:
J'espère vous avoir mal compris, car la réponse vient de vous etre donnée par TommyDDR !!
Signez ici
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#52

Message par TommyDDR »

Si par MAJ vous entendez SHIFT, je vous ai donné la réponse (Iste aussi), si par MAJ vous entendez "Mode majuscule ACTIVÉ" -> Shift ou Caps Lock alors je suis désolé mais les doutes sur vos intentions ne se font que plus grands car vous vous BLOQUEZ complètement vos majuscules.


PS : Vous remarquerez mes "T" qui sont en majuscule, impossible à écrire avec votre code lancé sur une machine ;)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#53

Message par quelqun »

donc il y a pas une fonction qui permet de vérifier si MAJ et activer (je parle de Caps Lock j'ai déja pris shift en compte :wink: )?
un code qui sera du genre:

Code : Tout sélectionner

func notepad()
    [focntion qui vérifie si maj et active (Caps Lock)] then
         run("notepad")
    else
         HotKeySet("n")
         send("n")
         HotKeySet("n", "notepad")
endfunc
hotkeyset("n","notepad")

while 1
     sleep(100)
wend
merci. en avance de plus en plus mais lentement :)
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#54

Message par Iste »

Code : Tout sélectionner

$pState = _GetCapsLockState()

While 1
    $nState = _GetCapsLockState()
    If $nState <> $pState Then
        ConsoleWrite('CAPSLOCK: ' & $nState & @CR)
        $pState = $nState
    EndIf
    Sleep(100)
WEnd

Func _GetCapsLockState()

    Local $Ret = DllCall('user32.dll', 'int', 'GetKeyState', 'int', 0x14)

    If @error Then
        Return SetError(1, 0, 0)
    EndIf
    Return BitAND($Ret[0], 1)
EndFunc   ;==>_GetCapsLockState
Source : http://www.autoitscript.com/forum/topic ... ntry823888
Signez ici
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#55

Message par jbnh »

Code : Tout sélectionner

Global Const $VK_CAPITAL = 0x14

MsgBox(0,"1 activé 0 desactivé", "Caps Lock: " & _GetCapsLock())

Func _GetCapsLock()
    Local $ret
    $ret = DllCall("user32.dll","long","GetKeyState","long",$VK_CAPITAL)
    Return $ret[0]
EndFunc
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#56

Message par quelqun »

ok merci Iste et jbnh et a tous les autres.
probléme résolu :)

question: est ce que pour utiliser la fonction dllcall dans un programme compiler il faudra inclure une fonction puis compiler ou bien c'est integré?

Code : Tout sélectionner

#include "fonction.au3
merci
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#57

Message par TommyDDR »

DllCall fait appel à une fonction présente dans une DLL.

Pour faire un DllCall il faut juste que la Dll soit présente sur l'ordinateur qui execute le programme.

Edit : Pensez à passer votre sujet en résolu si tel est le cas
(Editez votre 1er message et changez [..] en [R] dans le titre)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#58

Message par quelqun »

y'a t-il pas une liste avec les fonctions présentes dans la DLL et leur utiliter?
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Fonction hotkeyset()

#59

Message par TommyDDR »

Pour les dll windows :

Moteur de recherche (pour ne pas citer de noms) : msdn
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Répondre