回复 4楼 封闭
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
enum dwFlags
{
MOUSEEVENTF_MOVE,//表明发生移动。
MOUSEEVENTF_LEFTDOWN,//表明接按下鼠标左键。
MOUSEEVENTF_LEFTUP,//表明松开鼠标左键。
MOUSEEVENTF_RIGHTDOWN,//:表明按下鼠标右键。
MOUSEEVENTF_RIGHTUP,//:表明松开鼠标右键。
MOUSEEVENTF_MIDDLEDOWN,//:表明按下鼠标中键。
MOUSEEVENTF_MIDDLEUP,//:表明松开鼠标中键。
MOUSEEVENTF_WHEEL//:在Windows NT中如果鼠标有一个轮,表明鼠标轮被移动。移动的数量由dwData给出。
}
Point p = new Point();
[DllImport("user32.dll")]
public static extern void mouse_event(dwFlags dw, int dx, int dy, int dwData, int dwExtraInfo);
[DllImport("user32.dll")]
public static extern bool GetCursorPos(Point p);
[DllImport("user32.dll")]
public static extern bool SetCursorPos(int x,int y);
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
GetCursorPos(p);
Point p1 = new Point();
p1.X = p.X + 40;
p1.Y = p.Y + 10;
SetCursorPos(p1.X,p1.Y);
mouse_event(dwFlags.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(dwFlags.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
}
}
}
现在是这样写的,想把第一个参数设置成枚举,但是类型不对。第一个如果是INT的,诸如MOUSEEVENTF_RIGHTDOWN这些string的值也是没有办法传进去的,这个应该是什么样子的呢?