关于模拟鼠标移动的问题(我这里只会上下移动,不会左右移动)
using System;
using System.Runtime.InteropServices;
namespace bb
{
class bb
{
[DllImport("user32.dll")]
public static extern void mouse_event(long dwFlags,long dx,long dy ,long dwData ,long dwExtralnfo);
//public const long MOUSEEVENTF_LEFTDOWN = 0x2;
// public const long MOUSEEVENTF_LEFTUP = 0x4;
/// public const long MOUSEEVENTF_MIDDLEDOWN = 0x20;
// public const long MOUSEEVENTF_MIDDLEUP = 0x40;
public const long MOUSEEVENTF_MOVE = 0x1;
public const long MOUSEEVENTF_ABSOLUTE = 0x8000;
// public const long MOUSEEVENTF_RIGHTDOWN = 0x8;
// public const long MOUSEEVENTF_RIGHTUP = 0x10;
//int Length=300;
//IntPtr THandle=APIs.GetLocalWindow();
//SetCursorPos(10,10);
public static void Main()
{
mouse_event(MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE,30015,10682,0,0);
}
}
}
大家帮我看看,怎么才能左右一起移动
问题点数:20、回复次数:10Top
1 楼cancerser(都是混饭吃,记得要结帖)回复于 2006-04-29 17:44:04 得分 0
MOUSEEVENTF_LEFTUP|MOUSEEVENTF_LEFTDOWN ?顶Top
2 楼global9wei(shadow)回复于 2006-04-29 17:58:49 得分 0
不行哦,你先自己测试一下Top
3 楼henry3695(henry(老师说学好正则可以赚美元的))回复于 2006-04-30 07:50:48 得分 0
顶
怎么样模拟鼠标点击事件呢Top
4 楼huangguangdou(人生最遗憾的,莫过于,轻易的放弃了不该放弃的)回复于 2006-04-30 08:05:11 得分 0
我连上下移动都不会
哈哈
up ....Top
5 楼tttick(秉承一贯懒散的生活方式与严谨的工作态度¢)CodinG)回复于 2006-04-30 08:05:40 得分 10
[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(MOUSEEVENTF_MOVE,0,20,0,0);
///向下移动...参数你可以自己查API
mouse_event(MOUSEEVENTF_MOVE,20,0,0,0);
//向右移动...
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
//两个连用...就是鼠标的左键点击一次了...Top
6 楼Knight94(愚翁)回复于 2006-04-30 08:16:04 得分 10
没问题,注意dx与dy的取值,即(0,0)->(65535,65535),还有你的函数声明错了,例如:
-----Dll Declare-------
[DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags,
int dx, int dy ,int dwData ,int dwExtralnfo);
public const int MOUSEEVENTF_MOVE = 0x1;
public const int MOUSEEVENTF_ABSOLUTE = 0x8000;
----Calling---------
mouse_event( MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE,
30015,10682,
0,
0);
System.Threading.Thread.Sleep( 100 );
mouse_event( MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE,
12000,
10000,
0,
0);
Top
7 楼global9wei(shadow)回复于 2006-04-30 09:14:02 得分 0
我自己已经找到了,你们都正解,呵呵Top
8 楼global9wei(shadow)回复于 2006-04-30 09:16:16 得分 0
晕,我一给分怎么说我输入的不是数字Top
9 楼global9wei(shadow)回复于 2006-04-30 10:24:57 得分 0
怎么给分哦Top
10 楼my_infinity()回复于 2007-01-06 21:30:07 得分 0
to: 知道答案的各位
参数你可以自己查API,要怎么查找呢?Top




