Probleme pyHook avec pyInstaller;py2exe;cx_Freeze - Python - Programmation
MarshPosté le 20-08-2006 à 21:46:17
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!
Marsh Posté le 20-08-2006 à 21:46:17
Bonjour,
Je constate qu'un simple programme de Hook ne marche plus une fois transformé en executable:
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
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!