我正在使用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 感谢