QQtailer.dpr
上传用户:jiansibo
上传日期:2015-07-04
资源大小:524k
文件大小:2k
源码类别:

破解

开发平台:

Delphi

  1. program QQtailer;
  2. uses
  3.   Windows,
  4.   Messages;
  5. var
  6.   TimerHandle:WORD;
  7.   MSG:TMSG;
  8. procedure TimerProc(Wnd:HWnd;Msg,TimerID,dwTime:DWORD);stdcall;
  9. var
  10.   hLastWin,hButton : THandle;
  11.   szWindowText: array[0..MAX_PATH] of Char;
  12.   szTextLength: Integer;
  13.   QQName:String;
  14. begin
  15.   hLastWin := GetForegroundWindow;
  16.   GetClassName(hLastWin,szWindowText,SizeOf(szWindowText));
  17.   if szWindowText <>'#32770' then Exit;
  18.   szTextLength := SendMessage(hLastWin, WM_GETTEXT, MAX_PATH, Integer(@szWindowText[0]));
  19.   szWindowText[szTextLength] := #0;
  20.   if Pos('聊天中',szWindowText)>0 then
  21.   begin
  22.     QQName:=Copy(szWindowText,Pos(' ',szWindowText)+1,Pos('聊天中',szWindowText)-Pos(' ',szWindowText)-2);
  23.     hLastWin := FindWindowEx(hLastWin, THandle(nil),'#32770',nil);
  24.     if hLastWin=0 then Exit;
  25.     hButton := FindWindowEx(hLastWin, THandle(nil),nil,'发送(&S)');
  26.     if hButton=0 then Exit;    
  27.     hLastWin := FindWindowEx(hLastWin, THandle(nil),'AfxWnd42',nil);
  28.     if hLastWin=0 then Exit;
  29.     hLastWin := FindWindowEx(hLastWin, THandle(nil),'RICHEDIT',nil);
  30.     if hLastWin=0 then Exit;
  31.     QQName:=QQName+'在吗?';
  32.     SendMessage(hLastWin,EM_REPLACESEL,180,Integer(Pchar(QQName)));
  33.     SendMessage(hButton, WM_LBUTTONDOWN, 0, 0);
  34.     SendMessage(hButton, WM_LBUTTONUP, 0, 0);
  35.   end;
  36. end;
  37. procedure StartTimer(Interval:DWORD);
  38. begin
  39.   TimerHandle:=SetTimer(0,0,Interval,@TimerProc);
  40. end;
  41. begin
  42.   StartTimer(2000);
  43.   while(GetMessage(Msg,0,0,0))do
  44.   begin
  45.     TranslateMessage(Msg);
  46.     DispatchMessage(Msg);
  47.   end;
  48. end.