qq尾巴例子.txt
上传用户:jiansibo
上传日期:2015-07-04
资源大小:524k
文件大小:2k
源码类别:

破解

开发平台:

Delphi

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