cxfcxf8

导航

OfficeIM的自动登录

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Runtime.InteropServices;
using System.Threading;

namespace ShuBiao
{
    
public partial class Form1 : Form
    
{
        
Window Api

        
Mouse Event

}


 

 

 

 

 

 

  以后升级561.
467
  考勤工作日志:
101.167
  考勤登记:
386.84
  上午登记:
676.312
  下午:
675.351
  退出:
676.551
using System;
using System.Runtime.InteropServices;
using System.Threading;
using System.Drawing;
using System.Drawing.Imaging; 
using System.Windows.Forms;

namespace MapCollecter
{
 
/// <summary>
 
/// KeyMouseSender 銇瑕併伄瑾槑銇с仚銆?
 
/// </summary>

 public class KeyMouseSender
 
{
  
public static Bitmap GetScreen() 
  
{
   
return GetScreen(00, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
  }


  
public static Bitmap GetScreen(int x1, int y1, int x2, int y2) 
  
{
   
int temp;
   
if (x1 > x2) 
   
{
    temp 
= x1;
    x1 
= x2;
    x2 
= temp;
   }

   
if (y1 > y2) 
   
{
    temp 
= y1;
    y1 
= y2;
    y2 
= temp;
   }

   IntPtr dc1
=CreateDC("DISPLAY",null,null,(IntPtr)null);
   Graphics g1
=Graphics.FromHdc(dc1);
   Bitmap MyImage
=new Bitmap(x2 - x1,
    y2 
- y1,g1);
   Graphics g2
=Graphics.FromImage(MyImage);
   IntPtr dc3
=g1.GetHdc();
   IntPtr dc2
=g2.GetHdc();
   BitBlt(dc2, 
00,
    x2 
- x1,
    y2 
- y1,
    dc3, x1, y1, 
13369376);
   g1.ReleaseHdc(dc3);
   g2.ReleaseHdc(dc2);
   
return MyImage;
  }


  
public static void MouseLBClick(int x,int y)
  
{
   SetCursorPos(x, y);
   mouse_event(MOUSEEVENTF_LEFTDOWN, 
0000);
   SetCursorPos(x, y);
   mouse_event(MOUSEEVENTF_LEFTUP, 
0000);
   Thread.Sleep(
20);
  }


  
public static void MouseMove(int x1, int y1, int x2, int y2)
  
{
   SetCursorPos(x1, y1);
   mouse_event(MOUSEEVENTF_LEFTDOWN, 
0000);
   Thread.Sleep(
500);
   SetCursorPos(x2, y2);
   mouse_event(MOUSEEVENTF_LEFTUP, 
0000);
  }


  
public static void GetCursorPos(ref int x, ref int y)
  
{
   POINT p 
= new POINT();
   p.X 
= 0;
   p.Y 
= 0;
   GetCursorPos(
ref p);
   x 
= p.X;
   y 
= p.Y;
  }


  
public static int GetCursorPosX()
  
{
   POINT p 
= new POINT();
   p.X 
= 0;
   p.Y 
= 0;
   GetCursorPos(
ref p);
   
return p.X;
  }


  
public static int GetCursorPosY()
  
{
   POINT p 
= new POINT();
   p.X 
= 0;
   p.Y 
= 0;
   GetCursorPos(
ref p);
   
return p.Y;
  }


  
public static void SendKey(string key)
  
{
   
foreach(char c in key)
   
{
    SendKey(c);
    Thread.Sleep(
20);
   }

  }


  
public static void SendKey(char c) 
  
{
   
int c1 = Convert.ToInt16(c);
   
if(c==' ')
   
{
    keybd_event(VK_SPACE,
0,0,0); 
    keybd_event(VK_SPACE,
0,KEYEVENTF_KEYUP,0);
   }

   
else if(c>='0' && c<='9')
   
{
    keybd_event(c1,
0,0,0); 
    keybd_event(c1,
0,KEYEVENTF_KEYUP,0);
   }

   
else if(c>='a' && c<='z')
   
{
    keybd_event(c1
-32,0,0,0); 
    keybd_event(c1
-32,0,KEYEVENTF_KEYUP,0);
   }

   
else if(c>='A' && c<='Z')
   
{
    keybd_event(VK_SHIFT,
0,0,0); 
    keybd_event(c1,
0,0,0); 
    keybd_event(c1,
0,KEYEVENTF_KEYUP,0);
    keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
   }

   
else if(c=='\t')
   
{
    keybd_event(VK_TAB,
0,0,0); 
    keybd_event(VK_TAB,
0,KEYEVENTF_KEYUP,0);
   }

   
else
   
{
    
switch(c)
    
{
     
case ',':
      keybd_event(
188,0,0,0); 
      keybd_event(
188,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '<':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
188,0,0,0); 
      keybd_event(
188,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '.':
      keybd_event(
190,0,0,0); 
      keybd_event(
190,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '>':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
190,0,0,0); 
      keybd_event(
190,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '/':
      keybd_event(
191,0,0,0); 
      keybd_event(
191,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '?':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
191,0,0,0); 
      keybd_event(
191,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '\\':
      keybd_event(
220,0,0,0); 
      keybd_event(
220,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '|':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
220,0,0,0); 
      keybd_event(
220,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case ';':
      keybd_event(
186,0,0,0); 
      keybd_event(
186,0,KEYEVENTF_KEYUP,0);
      
break;
     
case ':':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
186,0,0,0); 
      keybd_event(
186,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '\'':
      keybd_event(222,0,0,0); 
      keybd_event(
222,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '"':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
222,0,0,0); 
      keybd_event(
222,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '[':
      keybd_event(
219,0,0,0); 
      keybd_event(
219,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '{':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
219,0,0,0); 
      keybd_event(
219,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case ']':
      keybd_event(
221,0,0,0); 
      keybd_event(
221,0,KEYEVENTF_KEYUP,0);
      
break;
     
case ' ':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
221,0,0,0); 
      keybd_event(
221,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '-':
      keybd_event(
189,0,0,0); 
      keybd_event(
189,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '_':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
189,0,0,0); 
      keybd_event(
189,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '=':
      keybd_event(
187,0,0,0); 
      keybd_event(
187,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '+':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
187,0,0,0); 
      keybd_event(
187,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '`':
      keybd_event(
192,0,0,0); 
      keybd_event(
192,0,KEYEVENTF_KEYUP,0);
      
break;
     
case '~':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
192,0,0,0); 
      keybd_event(
192,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '!':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
33,0,0,0); 
      keybd_event(
33,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '@':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
64,0,0,0); 
      keybd_event(
64,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '#':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
35,0,0,0); 
      keybd_event(
35,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '$':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
36,0,0,0); 
      keybd_event(
36,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '%':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
37,0,0,0); 
      keybd_event(
37,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '^':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
94,0,0,0); 
      keybd_event(
94,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '&':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
38,0,0,0); 
      keybd_event(
38,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '*':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
42,0,0,0); 
      keybd_event(
42,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case '(':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
40,0,0,0); 
      keybd_event(
40,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
     
case ')':
      keybd_event(VK_SHIFT,
0,0,0); 
      keybd_event(
41,0,0,0); 
      keybd_event(
41,0,KEYEVENTF_KEYUP,0);
      keybd_event(VK_SHIFT,
0,KEYEVENTF_KEYUP,0);
      
break;
    }

   }

  }


  
Key And Mouse Window Api

  
PrintScreen Window Api

 }

}


posted on 2008-05-01 23:12  尘封  阅读(672)  评论(3编辑  收藏  举报