大家好,最近做一个模拟鼠标点击的小软件.首先是采用热键取当前鼠标的屏幕坐标(有多个点)然后用热键启用程序.模拟鼠标在这几个点中点击.其实中时间间隔问题是这几个点全部点完以后需要再循环点击(1次或N次).如果不循环是正常.一循环就造成程序无响应,也没法结束/暂停这个鼠标自动点击了.贴下代码private void MouseStart(bool boolFlag)
{
if (boolFlag)
{
//1.点击位置1,间隔10毫秒后,再点击位置2
for (int i = 0; i < listPosition.Count; i++)
{
//-1,-1的位置是无效的
if (listPosition[i].PointX > -1 && listPosition[i].PointY > -1)
{
//鼠标停留并点击多次
int intReplayNo = listPosition[i].ReplayNo;
do
{
ParameterizedThreadStart threadStart = new ParameterizedThreadStart(MouseClickCustom);
Thread thread = new Thread(threadStart);
thread.Start(listPosition[i]); //停留时间
System.Threading.Thread.Sleep(listPosition[i].StayTime); intReplayNo--;
} while (intReplayNo > 0);
} if (i == listPosition.Count - 1 && IsKeep)
MouseStart(boolFlag); //启用循环 //去掉这里就正常
}
}
}
有哪位朋友做过类似的麻烦批点一下!
{
if (boolFlag)
{
//1.点击位置1,间隔10毫秒后,再点击位置2
for (int i = 0; i < listPosition.Count; i++)
{
//-1,-1的位置是无效的
if (listPosition[i].PointX > -1 && listPosition[i].PointY > -1)
{
//鼠标停留并点击多次
int intReplayNo = listPosition[i].ReplayNo;
do
{
ParameterizedThreadStart threadStart = new ParameterizedThreadStart(MouseClickCustom);
Thread thread = new Thread(threadStart);
thread.Start(listPosition[i]); //停留时间
System.Threading.Thread.Sleep(listPosition[i].StayTime); intReplayNo--;
} while (intReplayNo > 0);
} if (i == listPosition.Count - 1 && IsKeep)
MouseStart(boolFlag); //启用循环 //去掉这里就正常
}
}
}
有哪位朋友做过类似的麻烦批点一下!
{
//-1,-1的位置是无效的
if (listPosition[i].PointX > -1 && listPosition[i].PointY > -1)
{
//鼠标停留并点击多次
int intReplayNo = listPosition[i].ReplayNo;
do
{
ParameterizedThreadStart threadStart = new ParameterizedThreadStart(MouseClickCustom);
Thread thread = new Thread(threadStart);
thread.Start(listPosition[i]);
//停留时间
System.Threading.Thread.Sleep(listPosition[i].StayTime);
intReplayNo--;
} while (intReplayNo > 0);
}
if (i == listPosition.Count - 1 && IsKeep)
MouseStart(boolFlag); //启用循环 //去掉这里就正常
}
你都把你那个 MouseStart(boolFlag);放到这里面这怎么结束的了噢