Dernière mise à jour le 19/03/16

Présentation


La programmation qui va suivre permet de simuler quelque touches du clavier azerty. La programmation est basé sur la Dll (« user32.dll »).

Programme en C#


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices; // on active le Runtime
using System.Threading; // permet d'utiliser le Thread.Sleep(ms)
using System.Diagnostics; // on active pour permettre d'utiliser la fonction Process.Start pour ouvrir application 

namespace Touches_Clavier_001
{
    public partial class Form1 : Form
    {

        const int KEYEVENTF_KEYUP = 0x0002; //Evenement du relachement de la touche active
        const int VK_CONTROL = 0x11; //simuler touche CTRL
        const int VK_SHIFT = 0x10; // simuler touche SHIFT
        const int VK_RETURN = 0x0D; // simuler touche ENTRER
        const int J = 0x4A; //code de la touche J

        [DllImport("user32.dll", SetLastError = true)]
        static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);


        public Form1()
        {
            InitializeComponent();
        }
        

        private void BlocNote_Click(object sender, EventArgs e)
        {
            Process.Start(@"C:\Users\Julien\Desktop\test.txt"); //  on ouvre le bloc note situé sur le bureau
            Thread.Sleep(5000); // 5 secs après
            SendKeys.Send("Bienvenue à tous sur mon site DJelectro71.com"); // écriture dans le bloc note
            Thread.Sleep(5000); // 5 secs après
            // Ci-dessous écriture de "J" et "j"
            keybd_event(VK_RETURN, 0, 0, 0); // On active la touche ENTRER du clavier
            Thread.Sleep(1000); // 1 sec après
            keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); // On relache la touche ENTRER du clavier
            keybd_event(VK_SHIFT, 0, 0, 0); // On active la touche SHIFT du clavier
            Thread.Sleep(1000); // 1 sec après
            keybd_event(J, 0, 0, 0); // On active la touche "J"
            keybd_event(VK_SHIFT, J, KEYEVENTF_KEYUP, 0); // On relache la touche SHIFT et la touche J
            keybd_event(J, 0, 0, 0); // On active la touche "j" de nouveau
            Thread.Sleep(5000); // 5 secs après 
            keybd_event(0, J, KEYEVENTF_KEYUP, 0); // On relache la touche "j"
 
        } 
    }
}