IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Aide sur une erreur d'incohérence


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 96
    Points : 85
    Points
    85
    Par défaut Aide sur une erreur d'incohérence
    Bonjour,

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    using System;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;
     
    namespace GameStarter
    {
        public class Program
        {
     
            private delegate int HookProc(int code, IntPtr wParam, IntPtr lParam);
     
            private enum HookType : int
            {
                WH_JOURNALRECORD = 0,
                WH_JOURNALPLAYBACK = 1,
                WH_KEYBOARD = 2,
                WH_GETMESSAGE = 3,
                WH_CALLWNDPROC = 4,
                WH_CBT = 5,
                WH_SYSMSGFILTER = 6,
                WH_MOUSE = 7,
                WH_HARDWARE = 8,
                WH_DEBUG = 9,
                WH_SHELL = 10,
                WH_FOREGROUNDIDLE = 11,
                WH_CALLWNDPROCRET = 12,
                WH_KEYBOARD_LL = 13,
                WH_MOUSE_LL = 14
            }
     
            [DllImport("user32.dll")]
            private static extern IntPtr SetWindowsHookEx(HookType code, HookProc func, IntPtr hInstance, int threadID);
     
            [DllImport("user32.dll")]
            private static extern int CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);
     
            // Initialization
     
            public static void Main(string[] args)
            {
                new Program();
            }
     
            public Program()
            {
                HookProc proc = new HookProc(CallBack);
                SetWindowsHookEx(HookType.WH_KEYBOARD, proc, IntPtr.Zero, AppDomain.GetCurrentThreadId());
            }
     
            private int CallBack(int code, IntPtr wParam, IntPtr lParam)
            {
                if (code < 0)
                {
                    return CallNextHookEx(IntPtr.Zero, code, wParam, lParam);
                }
                else
                {
                    Keys keyPressed = (Keys)wParam.ToInt32();
                    Console.WriteLine("KeyPressed:" + keyPressed);
                    return CallNextHookEx(IntPtr.Zero, code, wParam, lParam);
                }
            }
        }
    }
    et voici l'erreur

    Accessibilité incohérente*: le type de paramètre 'MyClass.HookProc' est moins accessible que la méthode 'MyClass.SetWindowsHookEx(MyClass.HookType, MyClass.HookProc, System.IntPtr, int)'
    Je n'arrive pas à la corriger, peut on m'aider?

    Merci.

  2. #2
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Le compilateur attend que HookProc soit public puisque SetWindowsHookEx l'est.
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

Discussions similaires

  1. [XL-2010] Demande d'aide sur une erreur
    Par Seuche dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/04/2012, 18h34
  2. Aide sur une erreur
    Par tosio45 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 08/06/2011, 11h20
  3. Réponses: 5
    Dernier message: 01/03/2010, 16h01
  4. Aid sur une erreur de code
    Par mog83 dans le forum C#
    Réponses: 12
    Dernier message: 24/04/2008, 12h13
  5. Besoin d'aide sur une erreur javascript Uncaught Exception
    Par Jim_Nastiq dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/11/2007, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo