亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uhook.pas

?? hook簡單應(yīng)付用,希望可以給大家一些幫助. 謝謝大家,我要下載一個東西,所以傳一個源碼
?? PAS
字號:
unit UHook;

interface

uses Windows, Messages, SysUtils, Controls, Grids;

procedure InstallHook(MainWnd, DestWnd: HWND); stdcall;
procedure UninstallHook; stdcall;
function GetHookedCell: PChar; stdcall;

implementation

uses UShare;

var
  ControlAtom: TAtom;
  ControlAtomString: string;
  RM_GetObjectInstance: DWORD;  // registered window message

function FindControl(Handle: HWnd): TWinControl;
var
  OwningProcess: DWORD;
begin
  Result := nil;
  if (Handle <> 0) and (GetWindowThreadProcessID(Handle, OwningProcess) <> 0) and
     (OwningProcess = GetCurrentProcessId) then
  begin
    if GlobalFindAtom(PChar(ControlAtomString)) = ControlAtom then
      Result := Pointer(GetProp(Handle, MakeIntAtom(ControlAtom)))
    else
      Result := Pointer(SendMessage(Handle, RM_GetObjectInstance, 0, 0));
  end;
end;

function MsgWndProc(hwnd: HWND; Msg: UINT; WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall;
var
  SG: TStringGrid;
  X, Y: Integer;
begin
  case Msg of
    CM_QUERYROW:
      begin
        Result := -1;
        if P^.DestWnd <> 0 then
        begin
          SG := Pointer(FindControl(P^.DestWnd));
          if SG <> nil then Result := SG.RowCount;
        end;
        Exit;
      end;
    CM_QUERYCOL:
      begin
        Result := -1;
        if P^.DestWnd <> 0 then
        begin
          SG := Pointer(FindControl(P^.DestWnd));
          if SG <> nil then Result := SG.ColCount;
        end;
        Exit;
      end;
    CM_HOOKCELL:
      begin
        Result := -1;
        P^.Text[0] := #0;
        if P^.DestWnd <> 0 then
        begin
          SG := Pointer(FindControl(P^.DestWnd));
          if SG <> nil then
          begin
            X := WParam;
            Y := LParam;
            if (X >= 0) and (X < SG.ColCount) and (Y >= 0) and (Y < SG.RowCount) then
            begin
              Result := Length(SG.Cells[X, Y]);
              if Result > 0 then
              begin
                StrPLCopy(P^.Text, SG.Cells[X, Y], 1024);
              end;
            end;
          end;
        end;
        Exit;
      end;
  end;
  Result := DefWindowProc(hwnd, Msg, WParam, LParam);
end;

function GetMsgProc(Code: UINT; WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall;
begin
  if Code = HC_ACTION then
  begin
  end;
  Result := CallNextHookEx(P^.hkMsg, Code, WParam, LParam);
end;

procedure InstallHook(MainWnd, DestWnd: HWND); stdcall;
begin
  if P^.hkMsg = 0 then
    P^.hkMsg := SetWindowsHookEx(WH_GETMESSAGE, @GetMsgProc, HInstance, 0);
  P^.HostWnd := MainWnd;
  P^.HostPID := GetCurrentProcessId;
  P^.DestWnd := DestWnd;
end;

procedure UninstallHook; stdcall;
begin
  if P^.hkMsg <> 0 then
  begin
    UnhookWindowsHookEx(P^.hkMsg);
    P^.hkMsg := 0;
  end;
end;

function GetHookedCell: PChar; stdcall;
begin
  Result := P^.Text;
end;

var
  DoClear: Boolean;
  DestPID: DWORD;
  DestProcess: Boolean = False;
  UtilWindowClass: TWndClass = (
    style: 0;
    lpfnWndProc: @MsgWndProc;
    cbClsExtra: 0;
    cbWndExtra: 0;
    hInstance: 0;
    hIcon: 0;
    hCursor: 0;
    hbrBackground: 0;
    lpszMenuName: nil;
    lpszClassName: 'THookSGMsgWindow');

initialization
  hMapFile := OpenFileMapping(FILE_MAP_WRITE, False, cMapFileName);
  DoClear := hMapFile = 0;
  if hMapFile = 0 then
    hMapFile := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE,
      0, SizeOf(TShareData), cMapFileName);
  P := MapViewOfFile(hMapFile, FILE_MAP_WRITE, 0, 0, 0);
  if DoClear then FillChar(P^, SizeOf(TShareData), 0);
  ControlAtomString := Format('ControlOfs%.8X%.8X', [GetModuleHandle(nil), GetCurrentThreadID]);
  ControlAtom := GlobalAddAtom(PChar(ControlAtomString));
  RM_GetObjectInstance := RegisterWindowMessage(PChar(ControlAtomString));
  if P^.DestWnd <> 0 then
  begin
    GetWindowThreadProcessId(P^.DestWnd, DestPID);
    if DestPID = GetCurrentProcessId then
    begin
      DestProcess := True;
      UtilWindowClass.hInstance := HInstance;
      RegisterClass(UtilWindowClass);
      P^.MsgWnd := CreateWindowEx(
        WS_EX_TOOLWINDOW,              // extended window style
        UtilWindowClass.lpszClassName, // pointer to registered class name
        UtilWindowClass.lpszClassName, // pointer to window name
        WS_POPUP,                      // window style
        0,                             // horizontal position of window
        0,                             // vertical position of window
        0,                             // window width
        0,                             // window height
        0,                             // handle to parent or owner window
        0,                             // handle to menu, or child-window identifier
        HInstance,                     // handle to application instance
        nil);                          // pointer to window-creation data
      PostMessage(P^.HostWnd, CM_MSGWNDCREATED, P^.MsgWnd, 1);
    end;
  end;
finalization
  if DestProcess then
  begin
    DestroyWindow(P^.MsgWnd);
    PostMessage(P^.HostWnd, CM_MSGWNDCREATED, P^.MsgWnd, 0);
  end;
  GlobalDeleteAtom(ControlAtom);
  ControlAtomString := '';
  UnmapViewOfFile(P);
  CloseHandle(hMapFile);
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久一本精品| 看片的网站亚洲| 精品一区二区三区在线观看国产| 国产成人av电影免费在线观看| 色偷偷久久人人79超碰人人澡| 日韩免费高清视频| 亚洲福利视频一区| 成人av电影在线播放| 欧美一区二区三区四区五区| 自拍偷拍欧美激情| 国产大陆精品国产| 69堂精品视频| 亚洲一区二区三区中文字幕| 不卡av在线网| 欧美国产综合色视频| 免费不卡在线观看| 欧美在线|欧美| 亚洲色图另类专区| 国产成人夜色高潮福利影视| 91精品国产综合久久香蕉麻豆| 亚洲免费看黄网站| 成人av免费网站| 亚洲国产成人在线| 国产伦精品一区二区三区免费| 日韩一级黄色片| 性感美女极品91精品| 在线视频中文字幕一区二区| 综合色中文字幕| 99国产欧美另类久久久精品| 中文一区在线播放| 国产99久久久国产精品潘金| 国产欧美综合在线观看第十页| 国产精品亚洲成人| 久久精品视频一区二区三区| 国产最新精品免费| 欧美激情艳妇裸体舞| 成人免费毛片a| 国产精品乱人伦中文| 99精品在线免费| 一区二区成人在线观看| 欧美体内she精高潮| 五月天久久比比资源色| 3d动漫精品啪啪一区二区竹菊 | 国产精品久久久爽爽爽麻豆色哟哟| 精品在线观看免费| 欧美激情在线观看视频免费| a级精品国产片在线观看| 亚洲天堂成人在线观看| 欧美主播一区二区三区| 三级在线观看一区二区| 精品久久国产97色综合| 国产成人精品亚洲午夜麻豆| 国产精品国产三级国产aⅴ入口 | 日韩av在线播放中文字幕| 日韩一区二区三区视频| 国产成人av一区二区三区在线观看| 国产精品网站在线观看| 在线亚洲高清视频| 久久精品国产网站| 国产精品国产三级国产aⅴ中文 | 中文幕一区二区三区久久蜜桃| 91免费视频网址| 日本在线播放一区二区三区| 久久久99免费| 欧美亚洲综合一区| 久久99国产精品久久99果冻传媒| 国产精品二三区| 91精品国产综合久久久久久漫画| 国产剧情一区二区| 亚洲老司机在线| 久久免费的精品国产v∧| 色一区在线观看| 国产一区二区三区美女| 一区二区三区丝袜| 久久精子c满五个校花| 91福利视频在线| 丁香啪啪综合成人亚洲小说 | 国产精品私人自拍| 555www色欧美视频| 91丨九色porny丨蝌蚪| 美女mm1313爽爽久久久蜜臀| 亚洲欧美日韩成人高清在线一区| 日韩精品一区二区三区四区视频| 日本精品免费观看高清观看| 国产一区二区福利视频| 亚洲成a人在线观看| 成人欧美一区二区三区1314| 日韩欧美aaaaaa| 欧美日韩你懂的| 成人天堂资源www在线| 久久精品国内一区二区三区 | 亚洲日本在线a| 久久―日本道色综合久久| 欧美日韩大陆一区二区| 99精品国产99久久久久久白柏| 国产综合成人久久大片91| 性感美女极品91精品| 亚洲免费观看高清完整版在线| 欧美高清在线精品一区| 久久精品欧美一区二区三区不卡| 欧美福利视频一区| 欧美日韩精品欧美日韩精品一| 色综合久久精品| 成人av网在线| 99精品久久久久久| 91亚洲精品乱码久久久久久蜜桃| 国产精品亚洲专一区二区三区| 久久99精品久久久久| 免费观看日韩av| 蜜桃91丨九色丨蝌蚪91桃色| 奇米777欧美一区二区| 美女免费视频一区二区| 蜜桃av一区二区在线观看 | 99久久综合狠狠综合久久| 国产成人在线看| 国产成人精品一区二区三区四区 | 中文字幕在线观看不卡| 国产清纯白嫩初高生在线观看91 | 国产欧美中文在线| 国产喷白浆一区二区三区| 久久精品欧美一区二区三区麻豆| 久久亚洲二区三区| 国产日本一区二区| 国产精品区一区二区三区| 国产精品三级久久久久三级| 亚洲天堂2014| 亚洲午夜电影网| 日欧美一区二区| 国内精品视频一区二区三区八戒| 国产一区二区三区视频在线播放| 国产精品99久久久| aaa欧美色吧激情视频| 欧美午夜精品久久久久久超碰| 欧美三级资源在线| 欧美成人女星排名| 中文字幕精品—区二区四季| 亚洲激情中文1区| 天天影视色香欲综合网老头| 黑人精品欧美一区二区蜜桃| 东方aⅴ免费观看久久av| 91小视频免费观看| 91精品国产91久久久久久最新毛片| 久久亚洲一级片| 亚洲欧洲av色图| 日韩精品电影在线观看| 国产一区二区三区精品视频| 一本色道久久综合精品竹菊| 91精品久久久久久久久99蜜臂| 久久久国产精品麻豆| 自拍偷拍亚洲综合| 蜜臀久久99精品久久久久久9| 国产不卡免费视频| 欧美日韩国产在线观看| 2024国产精品视频| 亚洲成人av电影在线| 国产99久久精品| 337p亚洲精品色噜噜| 国产精品高潮久久久久无| 亚洲第一搞黄网站| 成人激情免费电影网址| 欧美一二三区精品| 一区二区三区在线视频播放| 国产在线一区观看| 欧美性大战久久久久久久| 国产色91在线| 美女尤物国产一区| 色婷婷久久久综合中文字幕| www国产成人免费观看视频 深夜成人网| ...av二区三区久久精品| 久久精品免费观看| 欧美三级电影一区| 国产精品国产三级国产| 久久精品国产一区二区三 | 成人av动漫网站| www国产成人免费观看视频 深夜成人网| 亚洲综合在线视频| 97久久人人超碰| 久久女同互慰一区二区三区| 麻豆精品在线看| 7799精品视频| 亚洲地区一二三色| 在线观看亚洲专区| 国产精品不卡在线| 成人黄色在线看| 欧美激情综合网| 国产激情偷乱视频一区二区三区| 日韩视频免费观看高清在线视频| 亚洲一区二区五区| 91久久精品一区二区三区| 欧美激情综合五月色丁香小说| 国产麻豆精品在线| 精品播放一区二区| 国产曰批免费观看久久久| 欧美岛国在线观看| 激情文学综合丁香| www激情久久| 福利一区福利二区| 亚洲国产精品v| www.亚洲激情.com| 亚洲卡通动漫在线|