国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

獲取其他進程中ListView的文本

2019-11-18 18:24:23
字體:
來源:轉載
供稿:網友
(*//標題:獲取其他進程中ListView的文本說明:Window2000+Delphi6調試通過設計:Zswang支持:wjhu111@21cn.com日期:2004-03-25//*)
uses CommCtrl;
function ListViewColumnCount(mHandle: THandle): Integer;begin  Result := Header_GetItemCount(ListView_GetHeader(mHandle));end; { ListViewColumnCount }
function GetListViewText(mHandle: THandle; mStrings: TStrings): Boolean;var  vColumnCount: Integer;  vItemCount: Integer;  I, J: Integer;  vBuffer: array[0..255] of Char;  vPRocessId: DWord;  vProcess: THandle;  vPointer: Pointer;  vNumberOfBytesRead: Cardinal;  S: string;  vItem: TLVItem;begin  Result := False;  if not Assigned(mStrings) then Exit;  vColumnCount := ListViewColumnCount(mHandle);  if vColumnCount <= 0 then Exit;  vItemCount := ListView_GetItemCount(mHandle);  GetWindowThreadProcessId(mHandle, @vProcessId);  vProcess := OpenProcess(PROCESS_VM_OperaTION or PROCESS_VM_READ or    PROCESS_VM_WRITE, False, vProcessId);  vPointer := VirtualAllocEx(vProcess, nil, 4096, MEM_RESERVE or MEM_COMMIT,    PAGE_READWRITE);  mStrings.BeginUpdate;  try    mStrings.Clear;    for I := 0 to vItemCount - 1 do begin      S := '';      for J := 0 to vColumnCount - 1 do begin        with vItem do begin          mask := LVIF_TEXT;          iItem := I;          iSubItem := J;          cchTextMax := SizeOf(vBuffer);          pszText := Pointer(Cardinal(vPointer) + SizeOf(TLVItem));        end;        WriteProcessMemory(vProcess, vPointer, @vItem,          SizeOf(TLVItem), vNumberOfBytesRead);        SendMessage(mHandle, LVM_GETITEM, I, lparam(vPointer));        ReadProcessMemory(vProcess, Pointer(Cardinal(vPointer) + SizeOf(TLVItem)),          @vBuffer[0], SizeOf(vBuffer), vNumberOfBytesRead);        S := S + #9 + vBuffer;      end;      Delete(S, 1, 1);      mStrings.Add(S);    end;  finally    VirtualFreeEx(vProcess, vPointer, 0, MEM_RELEASE);    CloseHandle(vProcess);    mStrings.EndUpdate;  end;  Result := True;end; { GetListViewText }
//Exampleprocedure TForm1.FormCreate(Sender: TObject);begin  RegisterHotKey(Handle, 1, MOD_WIN, VK_F2);end;
procedure TForm1.FormDestroy(Sender: TObject);begin  UnRegisterHotKey(Handle, 1);end;
procedure TForm1.WMHOTKEY(var Msg: TWMHOTKEY);begin  case Msg.HotKey of    1:      GetListViewText(        WindowFromPoint(Point(Mouse.CursorPos.X, Mouse.CursorPos.Y)),        MemoText.Lines);  end;end;

上一篇:使用IntraWeb進行Web編程(二)

下一篇:剪貼板的流存儲

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 潢川县| 富蕴县| 黄龙县| 镇江市| 富平县| 马关县| 滨海县| 山丹县| 双柏县| 万源市| 肥东县| 四子王旗| 株洲市| 依安县| 乌兰浩特市| 德钦县| 大同县| 会泽县| 诸城市| 长丰县| 调兵山市| 罗甸县| 吉木乃县| 黄浦区| 天峨县| 宜宾市| 永定县| 开鲁县| 丰都县| 竹山县| 江津市| 蒙阴县| 友谊县| 洛南县| 宝丰县| 泸西县| 威信县| 盐亭县| 南投县| 土默特右旗| 湖南省|