QQ聊天记录器演示程序(二)

haoren19830317

haoren19830317

2016-01-29 14:11

QQ聊天记录器演示程序(二),QQ聊天记录器演示程序(二)
 
基于上篇《QQ聊天记录器演示程序(一)》,此文将讲述如何捕获自己发送出去的消息:

  // hottey   于2004-6-2号

  QQ从本机发出消息无非就是两种方式.(1)按发送按钮,(2)按Ctrl+Enter组合键.当然自定义键除外.也不在本文考虑范围之内:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)

  基于这两种发送的方式我选用:WH_CALLWNDPROC 和 WH_KEYBOARD两种钩子.Sorry,今天心情太烂(学校里的一些琐事,郁闷).实在无心继续.只能贴上源码了.大家有兴趣自己看看...有什么问题可以和我联系.delphi21@163.com


  //监控Ctrl+Enter组合键
function  KeyboardProc(iCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
    if (wParam = VK_RETURN) and (GetKeyState(VK_CONTROL) < 0) and (lParam = 0) then
      begin
        SendMessage(Shared^.MainWnd,WM_USERCMD, UC_WINDESTROY, GetForegroundWindow);
      end;
      Result := CallNextHookEx(Shared^.KeyHook,iCode,wParam,lParam);
end;

//监控"发送"按钮
function CallWndProc(iCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
type
  Msg = ^CWPSTRUCT;
var
  p : Msg;
begin
  p := Msg(lParam);
//只对前台窗口进行处理
  if (p^.message = WM_COMMAND) and (LOWORD(p^.wParam) = 1) then
    begin
      SendMessage(Shared^.MainWnd,WM_USERCMD, UC_WINDESTROY, GetForegroundWindow);
    end;
  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;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)


[next]


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;
  Bu

展开更多 50%)
分享

猜你喜欢

QQ聊天记录器演示程序(二)

Delphi
QQ聊天记录器演示程序(二)

QQ聊天记录器演示程序

编程语言 网络编程
QQ聊天记录器演示程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

QQ聊天记录器演示程序(一)

Delphi
QQ聊天记录器演示程序(一)

怎么删除QQ聊天记录 QQ聊天记录删除方法

计算机应用技术
怎么删除QQ聊天记录 QQ聊天记录删除方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎样恢复QQ聊天记录 怎么备份QQ聊天记录

计算机应用技术
怎样恢复QQ聊天记录 怎么备份QQ聊天记录

QQ聊天记录怎么加密 怎么锁手机qq聊天记录

qq qq密保设置
QQ聊天记录怎么加密 怎么锁手机qq聊天记录

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

回调函数与Delphi的事件模型

回调函数与Delphi的事件模型

唯萌不破《天天爱萌仙》技能详解

唯萌不破《天天爱萌仙》技能详解
下拉加载更多内容 ↓