AkaShadow | Bonjour,
Je constate qu'un simple programme de Hook ne marche plus une fois transformé en executable:
Code :
- import pythoncom
- import pyHook
- def OnKeyboardEvent(event):
- print 'MessageName:',event.MessageName
- print 'Message:',event.Message
- print 'Time:',event.Time
- print 'Window:',event.Window
- print 'WindowName:',event.WindowName
- print 'Ascii:', event.Ascii, chr(event.Ascii)
- print 'Key:', event.Key
- print 'KeyID:', event.KeyID
- print 'ScanCode:', event.ScanCode
- print 'Extended:', event.Extended
- print 'Injected:', event.Injected
- print 'Alt', event.Alt
- print 'Transition', event.Transition
- print '---'
- # return True to pass the event to other handlers
- return False
- # create a hook manager
- hm = pyHook.HookManager()
- # watch for all mouse events
- hm.KeyDown = OnKeyboardEvent
- # set the hook
- hm.HookKeyboard()
- # wait forever
- pythoncom.PumpMessages ()
|
Pour py2exe, si le setup.py est configuré en Bundle (1 seul fichier, ou presque) j'ai une erreur comme quoi pyHook est introuvable. Sinon (sans le bundle) ca marche parfaitement, mais là j'ai un paquet de fichier! Pour cx_freeze, pas d'erreur mais le programme ne fait rien. C'est comme si que la ligne
Code :
- hm = pyHook.HookManager()
|
n'existatit pas Pour pyInstaller (celui que je préfere), c'est pareil, rien ne se produit que ce soit en --onedir ou --onefile
J'aimerai avoir le moins de fichier possible une fois en executable.
Alors j'ai pensé à utiliser un binder pour completer py2exe, mais tous ceux que j'ai trouvé sont
soit payant soit reconnu comme etant des 'trojans' pour les antivirus.
Ainsi je vous demande:
Y a t-il une alternative a pyHook ?
(j'ai essaillé de trafiquer avec pygame mais il faut un focus sur la fenetre pour que cela marche,
ce qui ne me conviens pas)
Y a t-il un patch, un truc, qui me ferait marcher pyHook avec pyInstaller ?
Ou si vraiment ya pas de solution, avez vous un bon binder ?
(j'aimerai mieu ne pas avoir à utiliser WinRAR... )
Merci de me faire part de vos réponses.
Bonne journée à tous! |