Option Explicit Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" ( _ ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long) ' bVk est le code ascii de la touche Private Const VK_LWIN = &H5B Private Const VK_APPS = &H5D ' Pour d'autres touches... ' a à z 65 à 90 ' Home 36 ' End 35 ' Flêche vers le haut 38 ' Flêche vers le bas 40 ' Flêche vers la gauche 37 ' Flêche vers la droite 39 ' Echap 27 ' Impr écran 44 (= vbKeySnapshot) ' Page haut 33 ' Page bas 34 ' Insert 45 ' F1 à F12 112 à 123 ' Barre d'espace 32 ' Ctrl 17 ' Alt 18 ' Maj 16 ' Verr Num 144 ' Arrêt défil 145 ' Tab 9 ' Shift 16 ' bscan (Lorsque l'on utilise la touche imprime écran) Const TheScreen = 1 ' Copie l'écran Const TheForm = 0 ' Copie la fenêtre active ' dwFlags (le drapeau) : Const KEYEVENTF_EXTENDEDKEY = &H1 ' Pour actionner les touches étendues Const KEYEVENTF_KEYUP = &H2 ' Relache la touche ' ---Cet exemple montre comment gérer Windows--- Sub GestionWindows(Index As Integer) ' ---déclarations des variables--- Dim VK_ACTION As Long ' ---Traite l'action--- Select Case Index Case 0 ' Ouverture de l'Exploreur VK_ACTION = &H45 ' La lettre e (ascii 69) Case 1 ' Rechercher des fichiers VK_ACTION = &H46 ' La lettre f (ascii 70) Case 2 ' Réduire toutes les fenêtres VK_ACTION = &H4D ' La lettre m (ascii 77) Case 3 ' Ouverture du menu exécuter VK_ACTION = &H52 ' La lettre r (ascii 82) Case 4 ' Actionner le menu démarrer VK_ACTION = &H5B ' Le bouton démarrer de windows sur le clavier (ascci 91) End Select ' ---Envoie de la séquence de touche--- Call keybd_event(VK_LWIN, 0, 0, 0) Call keybd_event(VK_ACTION, 0, 0, 0) Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0) End Sub Private Sub Command1_Click() ' ---Copie d'écran de la forme active (pour l'écran utiliser "TheScreen")--- keybd_event vbKeySnapshot, TheForm, 0&, 0& ' ---On laisse le temps à Windows de charger l'image en mémoire--- DoEvents ' ---Copie du presse-papier dans le contrôle image1--- Image1 = Clipboard.GetData(vbCFBitmap) End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question