|
QQ聊天记录器演示程序(二)(2) Result := CallNextHookEx(Shared^.CallHook,iCode,wParam,lParam); end;
演示程序相关代码: procedure TForm1.WndProc(var Msg: TMessage); begin with Msg do begin if Msg = WM_USERCMD then begin case wParam of UC_WINDESTROY: begin GetText(Findhwd(HWND(lParam))); end; end; end; end; inherited; end; function TForm1.Findhwd(parent: HWND):HWND; var hwd,hBtn,hMemo:HWND; begin hwd:=findwindowex(parent,0,'#32770',nil); Result := 0; if (parent<>0) then begin hBtn := FindwindowEX(hwd,0,nil,'发送(&S)'); if (hBtn<>0) then begin hMemo := GetDlgItem(hwd,$00000000); if (hMemo<>0) then begin result := GetWindow(hMemo,GW_CHILD); end; end; end; end; procedure TForm1.GetText(hwd: HWND); var Ret: LongInt; QQText: PChar; Buf: integer; begin GetMem(QQText,1024);
|