设定按键坐标与定时器,自动点击鼠标 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#include <System.IniFiles.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFrame2 *Frame2;
//---------------------------------------------------------------------------
__fastcall TFrame2::TFrame2(TComponent* Owner)
 : TFrame(Owner)
{
 nMx = 0;
 nMy = 0;
    nInterval = 10;
}
//---------------------------------------------------------------------------
void __fastcall TFrame2::FrameInit(int nIndex)
{
    box->Caption = String(nIndex);
 this->Tag = nIndex;
 TIniFile *IniFile = new TIniFile(ExtractFilePath(Application->ExeName) "config.ini");
 String group;
 group.sprintf(L"GROUP%d",nIndex);
 if(IniFile){
 Mx->Text = IniFile->ReadString(group,"MX","0");
 My->Text = IniFile->ReadString(group,"MY","0");
 chInterval->Checked = IniFile->ReadInteger(group,"BREP",0)==0?false:true;
 txtIntval->Text = IniFile->ReadString(group,"INTERVAL","10");
 delete IniFile;
 }
    this->btnPause->Enabled = false;
}
void __fastcall TFrame2::btnSaveClick(TObject *Sender)
{
 //
 int nIndex = this->Tag;
    TIniFile *IniFile = new TIniFile(ExtractFilePath(Application->ExeName) "config.ini");
 String group;
 group.sprintf(L"GROUP%d",nIndex);
 if(IniFile){
 IniFile->WriteString(group,"MX",Mx->Text);
 IniFile->WriteString(group,"MY",My->Text);
 IniFile->WriteInteger(group,"BREP",chInterval->Checked?1:0);
 nInterval = _wtoi(txtIntval->Text.c_str());
 if(nInterval<1) nInterval =1;
 IniFile->WriteString(group,"INTERVAL",nInterval);
 delete IniFile;
 if(Sender==btnSave){
 ShowMessage("保存参数成功");
 }
 }
 nMx = _wtoi(Mx->Text.c_str());
 nMy = _wtoi(My->Text.c_str());
 tm->Interval = nInterval*1000;
}
//---------------------------------------------------------------------------
void __fastcall TFrame2::btnStartClick(TObject *Sender)
{
btnSaveClick(Sender);
 if(btnStart->Tag==0){
 btnStart->Tag = 1;
 btnStart->Enabled = false;
tmTimer(tm);
 if(chInterval->Checked){
 tm->Enabled = true;
 }
 btnPause->Enabled = true;
 }
}
//---------------------------------------------------------------------------
void __fastcall TFrame2::tmTimer(TObject *Sender)
{
 //
 SetCursorPos(nMx,nMy);//注意:这个坐标是屏幕的绝对坐标
 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
}
//---------------------------------------------------------------------------
void __fastcall TFrame2::btnPauseClick(TObject *Sender)
{
 //
 tm->Enabled = false;
 btnStart->Tag = 0;
 btnStart->Enabled = true;
 btnPause->Enabled = false;}
//---------------------------------------------------------------------------

 
  
					
				
评论