Simuler Ctrl+c depuis Python vers le clavier .
Fermé
papanou1965
Messages postés
37
Date d'inscription
mardi 17 juin 2014
Statut
Membre
Dernière intervention
15 août 2014
-
14 août 2014 à 09:05
papanou1965 Messages postés 37 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 15 août 2014 - 15 août 2014 à 03:17
papanou1965 Messages postés 37 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 15 août 2014 - 15 août 2014 à 03:17
Bonjour, Voilà le soucis à six sous.
J'arrive sans problème à détecter une frappe de Ctrl+c au clavier dans Python.
Mais je n'arrive pas à faire le contraire .
C'est à dire de remplacer l'utilisateur par Python et de lui faire faire un Ctrl+c.
Cela fait 3 jours que j'arpente le net et je ne m'en sort pas .
Si vous aviez une petite indication pour m'aider ce serais sympa.
J'arrive sans problème à détecter une frappe de Ctrl+c au clavier dans Python.
Mais je n'arrive pas à faire le contraire .
C'est à dire de remplacer l'utilisateur par Python et de lui faire faire un Ctrl+c.
Cela fait 3 jours que j'arpente le net et je ne m'en sort pas .
Si vous aviez une petite indication pour m'aider ce serais sympa.
A voir également:
- Python ctrl v
- Citizen code python avis - Accueil - Outils
- Hyper v download - Télécharger - Divers Utilitaires
- Comment faire une capture d'écran sur pc avec ctrl ? - Guide
- Ctrl f ne fonctionne plus ✓ - Forum Windows 10
4 réponses
Utilisateur anonyme
14 août 2014 à 11:04
14 août 2014 à 11:04
Il faut envoyer un signal, il existe un module en python qui se nomme justement signal et je pense que celui qui t'intéresse est SIGINT
papanou1965
Messages postés
37
Date d'inscription
mardi 17 juin 2014
Statut
Membre
Dernière intervention
15 août 2014
1
14 août 2014 à 16:04
14 août 2014 à 16:04
Merci je vais chercher de se côté là .
Sugel
Messages postés
4076
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
726
14 août 2014 à 19:36
14 août 2014 à 19:36
tu peut apparemment le faire avec ctypes:
https://stackoverflow.com/questions/13564851/how-to-generate-keyboard-events-in-python
Google it :p
import ctypes import time SendInput = ctypes.windll.user32.SendInput # C struct redefinitions PUL = ctypes.POINTER(ctypes.c_ulong) class KeyBdInput(ctypes.Structure): _fields_ = [("wVk", ctypes.c_ushort), ("wScan", ctypes.c_ushort), ("dwFlags", ctypes.c_ulong), ("time", ctypes.c_ulong), ("dwExtraInfo", PUL)] class HardwareInput(ctypes.Structure): _fields_ = [("uMsg", ctypes.c_ulong), ("wParamL", ctypes.c_short), ("wParamH", ctypes.c_ushort)] class MouseInput(ctypes.Structure): _fields_ = [("dx", ctypes.c_long), ("dy", ctypes.c_long), ("mouseData", ctypes.c_ulong), ("dwFlags", ctypes.c_ulong), ("time",ctypes.c_ulong), ("dwExtraInfo", PUL)] class Input_I(ctypes.Union): _fields_ = [("ki", KeyBdInput), ("mi", MouseInput), ("hi", HardwareInput)] class Input(ctypes.Structure): _fields_ = [("type", ctypes.c_ulong), ("ii", Input_I)] # Actuals Functions def PressKey(hexKeyCode): extra = ctypes.c_ulong(0) ii_ = Input_I() ii_.ki = KeyBdInput( hexKeyCode, 0x48, 0, 0, ctypes.pointer(extra) ) x = Input( ctypes.c_ulong(1), ii_ ) SendInput(1, ctypes.pointer(x), ctypes.sizeof(x)) def ReleaseKey(hexKeyCode): extra = ctypes.c_ulong(0) ii_ = Input_I() ii_.ki = KeyBdInput( hexKeyCode, 0x48, 0x0002, 0, ctypes.pointer(extra) ) x = Input( ctypes.c_ulong(1), ii_ ) SendInput(1, ctypes.pointer(x), ctypes.sizeof(x)) def run(): PressKey(0x11) #Ctrl PressKey(0x43) #C ReleaseKey(0x43) #~C ReleaseKey(0x11) #~Ctrl if __name__ =="__main__": run()
https://stackoverflow.com/questions/13564851/how-to-generate-keyboard-events-in-python
Google it :p
papanou1965
Messages postés
37
Date d'inscription
mardi 17 juin 2014
Statut
Membre
Dernière intervention
15 août 2014
1
15 août 2014 à 03:17
15 août 2014 à 03:17
Merci à vous deux .
Voilà ce qui se passe dans les deux cas.
Ctrl+c ferme la console.
Et ce n'est pas ce que j'attendais , même si python fait ce qu'il doit faire .
Je voulais faire un simple copier dans le presse papier d'une zone sélectionnée.
Et aller lire le contenu pour l'utiliser dans une variable.
Le script de Suguel fonctionne bien , j'espère que tu n'a pas coder tout sa.
Moi j'ai trouvé ceci qui fait exactement pareil
Le soucis c'est qu'il n'y passera jamais .
Merci pour votre aide et désolé de vous avoir fait chercher avec moi pour des prunes.
Bonne journée @ tous.
Voilà ce qui se passe dans les deux cas.
Ctrl+c ferme la console.
Et ce n'est pas ce que j'attendais , même si python fait ce qu'il doit faire .
Je voulais faire un simple copier dans le presse papier d'une zone sélectionnée.
Et aller lire le contenu pour l'utiliser dans une variable.
Le script de Suguel fonctionne bien , j'espère que tu n'a pas coder tout sa.
Moi j'ai trouvé ceci qui fait exactement pareil
import os import signal os.kill(signal.CTRL_C_EVENT, 1) r=input('je devrais passer ici! et attendre.')
Le soucis c'est qu'il n'y passera jamais .
Merci pour votre aide et désolé de vous avoir fait chercher avec moi pour des prunes.
Bonne journée @ tous.