C#gdi + System.ArgumentException

时间:2011-05-03 12:12:43

标签: c# exception gdi+ arguments

我正在使用MouseHook编写程序直接在桌面上绘制一些行...我的钩子似乎正在工作但我有代码2 System.ArgumentException当我必须绘制时,它正是我调用drawlines功能。当我在vs2010中执行我的程序时,我没有这个错误。只有当我用可执行文件启动它时。以下是2条错误消息:

Signature du problème :
Nom d’événement de problème: CLR20r3
Signature du problème 01: hooksensiva.exe
Signature du problème 02: 1.0.0.0
Signature du problème 03: 4db91362
Signature du problème 04: System.Drawing
Signature du problème 05: 4.0.0.0
Signature du problème 06: 4ba1e086
Signature du problème 07: 328
Signature du problème 08: 28
Signature du problème 09: System.ArgumentException
Version du système: 6.1.7601.2.1.0.256.4
Identificateur de paramètres régionaux: 4108
Information supplémentaire n° 1: 495a
Information supplémentaire n° 2: 495ae6b24a84e0a7a8cee3c7e614ca6d
Information supplémentaire n° 3: f8c5
Information supplémentaire n° 4: f8c529e5262f58c27c8982b61e791b03


Signature du problème :
Nom d’événement de problème: APPCRASH
Nom de l’application: HookSensiva.exe
Version de l’application: 1.0.0.0
Horodatage de l’application: 4db91362
Nom du module par défaut: KERNELBASE.dll
Version du module par défaut: 6.1.7601.17514
Horodateur du module par défaut: 4ce7c78c
Code de l’exception: c000041d
Décalage de l’exception: 000000000000a49d
Version du système: 6.1.7601.2.1.0.256.4
Identificateur de paramètres régionaux: 4108
Information supplémentaire n° 1: 644c
Information supplémentaire n° 2: 644c5e94ad3ccfc748a52fadd4d7fd12
Information supplémentaire n° 3: e3c2
Information supplémentaire n° 4: e3c27ebfc6ae5f4a67ead6db91d19f'>

以下是我接受我的观点并使用画线

的代码部分
    List<Point> MesCoordonnees = new List<Point>();////Contient les coordonnées de la souris
    Point MesPoints = new Point();//Points de la souris
     #region Evenement lors du déplacement de la souris /// points dans liste /// appel fonct. dessin
    void HookSouris_MouseMove(object sender, MouseEventArgs e)
    {
        //ajoute les coordonnées au points
        MesPoints.X = e.X;
        MesPoints.Y = e.Y;

        //ajoute les point au tableau
        MesCoordonnees.Add(MesPoints);
        FonctionDessin();//dessine
    }

    #region Fonction de dessin// !CONTENU INTERNET! //
    public void FonctionDessin()
    {
        //Dessin
        Point[] point = MesCoordonnees.ToArray();//Place en convertissant le tableau dans un tableau de points
        //Définie le pinceau
        Pen MonPen = new Pen(Color.Red, 10.0f);
        // source du contenu http://stackoverflow.com/questions/1536141/how-to-draw-directly-on-the-windows-desktop-c
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////
        IntPtr desktop = GetDC(IntPtr.Zero);//Point sur le bureau
        g = Graphics.FromHdc(desktop);
        g.SmoothingMode = SmoothingMode.AntiAlias;//Antialiasing
        g.DrawLines(MonPen, point);
        ReleaseDC(desktop);//Enleve le pointeur
        /////////////////
        // Fin du contenu
    }
    #endregion

我正在使用vs2010开发windows7 x64 感谢

0 个答案:

没有答案