임베디드 프로그래밍  

         
전체 기타 | WinCE | Delphi | VisualC | ARM | Media | SE | 마리오네트 | Java | wdm | JTAG | 영상처리 | 인증 | 질문/답변 | H/W | 알고리즘 | Platform | .net | VB | PPC | Network | android | QT | WWW | Linux |
Auto Keyboard & Auto Mouse
하창호03-18 18:20 | HIT : 4,912
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := True;
  iPosX := 0;
  iPosY := 0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  posMouse: TPoint;
  iX, iY: Integer;
  iLeft, iTop, iRight, iBottom: Integer;
  dwTick: DWORD;

  procedure TypeText;
  var
    str: String;
    iCount: Integer;
    iChr: Char;
  begin
    Edit1.SetFocus;
    Edit1.Text := '';

    str := 'FOR SHAME DONT SNEAKING MY AROUND' + #13#10;
    for iCount := 1 to Length(str) do
    begin
      iChr := Str[iCount];
      keybd_event(Byte(iChr), 0, KEYEVENTF_EXTENDEDKEY or 0, 0);
      keybd_event(Byte(iChr), 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
    end;
  end;
begin
  Edit1.Text := '';
  GetCursorPos(posMouse);

  if((iPosX <> posMouse.X) or (iPosY <> posMouse.Y)) then dwTickCount := GetTickCount();
  dwTick := GetTickCount();

  iPosX := posMouse.X;
  iPosY := posMouse.Y;
  iX := 5;
  iY := 5;
  iLeft := Form1.Left + Memo1.Left + 20;
  iTop := Form1.Top + Memo1.Top + 40;
  iRight := iLeft + Memo1.Width - 25;
  iBottom := iTop + Memo1.Height - 25;

  if((iPosX < iLeft) or (iPosX > iRight)) then
    iX := (iLeft - iPosX) div 2;
  if((iPosY < iTop) or (iPosY > iBottom)) then
    iY := (iTop - iPosY) div 2;

  if(Memo1.Lines.Count > 39) then Memo1.Lines.Delete(0);
  Memo1.Lines.Add('Test Pos (' + IntToStr(iPosX + iX) + ',' + IntToStr(iPosY + iY) + ') << ('
  + IntToStr(iPosX) + ',' + IntToStr(iPosY) + ') %' + IntToStr(iX) + '#' + IntToStr(iY)
  + '@' + IntToStr(dwTick) + '$'+ IntToStr(dwTickCount) + '=' + IntToStr(dwTick - dwTickCount));

  if ((dwTick - dwTickCount) < 60000) then exit;

  dwTickCount := dwTick;
  mouse_event(MOUSEEVENTF_MOVE, iX, iY, 0, GetMessageExtraInfo());
  TypeText();
end;
하창호   2007/10/06 
keybd_event(TempKeyCode, TempKeyCode, KEYEVENTF_EXTENDEDKEY | 0, 0);
keybd_event(TempKeyCode, TempKeyCode, KEYEVENTF_KEYUP | 0, 0);
 


11  Delphi :: 동적 Database 연결과 동적 Table 생성 예제    하창호 2008·04·24 5465
10  Delphi :: MSSQL 2005 와 연동시 ntwdblib.DLL 에러에...    하창호 2008·04·24 5822
9  Delphi :: MS SQL Free 2005 Download    하창호 2008·04·23 3584
8  Delphi :: SQL DDI 문중 CREATE TABLE 예제  …1  하창호 2008·02·29 3346
7  Delphi :: 증권 관련 업체코드 검색 및 파일 로딩 예제    하창호 2005·05·02 4333
6  Delphi :: [매직포토스] DIB 사용 예제    하창호 2005·02·05 5053
5  Delphi :: AssignFile, OpenDialog, Readln, Clo...    하창호 2004·03·24 5000
 Delphi :: Auto Keyboard & Auto Mouse  …1  하창호 2004·03·18 4912
3  Delphi :: Little Endian과 Big Endian 간의 변환 함...  …2  하창호 2004·03·18 7099
2  Delphi :: idHttp Control 사용시 403 Forbidden er...  …2  하창호 2004·03·08 7733
1  Delphi :: [URL] Internet Direct (Indy) Open S...    하창호 2004·02·10 3495
1
   
Copyright 1999-2018 Zeroboard / skin by GGAMBO
....