C#实现想法小记

   11点左右突然想完成一个比较繁杂的应用 (- – 原因这里就不说了)

   之前有个蛮不错鼠标按键模拟exe,今天有些地方懒得点鼠标,却找不到了,

   自己写个吧

   实现程序部分

   1,实现任务: 模拟连续点击鼠标左键

   2,附加功能:   自定义选择延时,支持捕获键盘按键来启动或终止

   初步需要达成函数功能

            1 模拟鼠标点击

            2 计时功能的实现和时间循环

            3 键盘事件的实现

   以前完全没试过,开始只是有以上大概的想法,在vs里乱逛了会,决定用C#实现,无他…简单点吧…

   参考资料 : googlegooglegooglegoogle…… 写到最后整合的时候已经打开一堆窗口…

   好在完成了

   下面把在网上找到的最有价值参考和自己的相应代码贴上来

//标题为”桔子”
MessageBox.Show(“URL:http://www.shx.name/”, “桔子”);
……………….
MessageBox.Show(“URL:http://www.shx.name/”, “桔子”, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2);

   – -这里是因为开始我都不记得怎么弹出对话框了..有时测试时会用上,这个事查资料时的小插曲…

   以下是模拟鼠标的实现参考

这个函数在user32.dll这个库文件里面。我们可以在C:\WINDOWS\system32(XP系统)这个目录下找到这个文件,他是系统自带的。我们以C#直接调用这个文件中的API为例子来说下怎么进行鼠标操作,首先在我们C#中声明引用,如果是一个基于From的程序,这个声明的位置写在你的 From class就可以了
[System.Runtime.InteropServices.DllImport(“user32”)]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
…………………………….
const int MOUSEEVENTF_MOVE = 0x0001;      移动鼠标
const int MOUSEEVENTF_LEFTDOWN = 0x0002; 模拟鼠标左键按下
const int MOUSEEVENTF_LEFTUP = 0x0004; 模拟鼠标左键抬起
const int MOUSEEVENTF_RIGHTDOWN = 0x0008; 模拟鼠标右键按下
const int MOUSEEVENTF_RIGHTUP = 0x0010; 模拟鼠标右键抬起
const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; 模拟鼠标中键按下
const int MOUSEEVENTF_MIDDLEUP = 0x0040; 模拟鼠标中键抬起
const int MOUSEEVENTF_ABSOLUTE = 0x8000; 标示是否采用绝对坐标
程序中我们直接调用mouse_event函数就可以了
………………………
mouse_event (MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 )
3、两次连续的鼠标左键单击事件 构成一次鼠标双击事件:
mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
………………………………….

 之后是timer部分参考 参考页面里的MM照片很漂亮

using System.Threading;
using System.Timers;
………………….

private System.Timers.Timer timerClock = new System.Timers.Timer();   
timerClock.Elapsed += new ElapsedEventHandler(OnTimer);
timerClock.Interval = 1000;
timerClock.Enabled = true;

public void OnTimer( Object source, ElapsedEventArgs e )
{
    //Your code here
}

 最后是键盘事件的实现

         这一部分个人觉得最好的参考是2005年写的..

在C#程序定义”KeyDown”、”KeyUp”事件的语法如下:

    “组件名称”.”事件名称”+= new Syetem.Windows.Froms. KeyEventHandler(”事件名称”);

   下面是程序中具体实现代码:

    button1. KeyUp += new Syetem.Windows.Froms. KeyEventHandler(button1_KUp);

   下面是响应上面事件的基本结构。

   

private void button1_KUp ( object sender , Syetem.Windows.Froms. KeyEventArgs e )
     

{  
       此处加入响应此事件的代码
      

还有顺眼看见的,加到代码里。判断ctrl+p时会用

private void Form1_KeyDown(object sender, KeyEventArgs e)
 { if(e.Control && e.KeyCode == Keys.A)
this.BackColor = Color.Red; }

至于我自己的代码部分再发帖吧。

此条目发表在未分类分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注