(*//
标题:获取其他进程中StatusBar的文本
说明:Window2000+Delphi6调试通过
设计:Zswang
支持:wjhu111@21cn.com
日期:2005-02-22
//*)

uses CommCtrl;
function GetStatusBarText(mHandle: THandle): string;
var
  vBuffer: array[0..$1000of Char;
  vSize: Integer;
  I: Integer;
  vCount: Integer;
  vProcessId: DWORD;
  vProcess: THandle;
  vPointer: Pointer;
  vNumberOfBytesRead: Cardinal;
begin
  Result := '';
  vCount := SendMessage(mHandle, SB_GETPARTS, 00);
  if vCount <= 0 then Exit;
  GetWindowThreadProcessId(mHandle, @vProcessId);
  vProcess := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or
    PROCESS_VM_WRITE, False, vProcessId);
  vPointer := VirtualAllocEx(vProcess, nil$1000, MEM_RESERVE or MEM_COMMIT,
    PAGE_READWRITE);
  try
    for I := 0 to vCount - 1 do
    begin
      vSize := SendMessage(mHandle, SB_GETTEXT, I, 0) + 1;
      SendMessage(mHandle, SB_GETTEXT, I, Integer(vPointer));
      ReadProcessMemory(vProcess, vPointer, @vBuffer[0],
        vSize, vNumberOfBytesRead);
      Result := Result + #9 + vBuffer;
    end;
    Delete(Result, 11);
  finally
    VirtualFreeEx(vProcess, vPointer, 0, MEM_RELEASE);
    CloseHandle(vProcess);
  end;
end{ GetStatusBarText }

//Example
procedure 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: Edit1.Text := GetStatusBarText(
      WindowFromPoint(Point(Mouse.CursorPos.X, Mouse.CursorPos.Y)));
  end;
end;

http://blog.csdn.net/zswang/article/details/297038

最新文章

  1. JS的双等和三等的区别
  2. JavaWeb三大组件——过滤器的运行机制理解
  3. CSS3边框图片属性---border-image
  4. SQL2005中的事务与锁定(八)- 转载
  5. ASP.NET MVC5 网站开发实践
  6. WebAPI使用多个xml文件生成帮助文档(转)
  7. Xcode无法设置视图的 autosizing control原因
  8. LockSupport理解
  9. 告别回调,拥抱async await
  10. Hyper-V安装虚拟机
  11. LOJ #6285 分块入门9
  12. Springboot 3.需求携带参数的get请求
  13. CUDA编程模型——组织并行线程3 (2D grid 1D block)
  14. 02. pt-archiver
  15. 不同Mesh技术的比较-总结版
  16. Codeforces Round #215 (Div. 2) D. Sereja ans Anagrams
  17. 使用tagName定位报错
  18. Linux内核同步 - memory barrier
  19. 【LG3206】[HNOI2010]城市建设
  20. vue-构建项目相关事项

热门文章

  1. 属性动画Property Animation
  2. Android Studio如何打jar包
  3. 一:redis 的string类型 - 相关操作
  4. mongdb aggregate 聚合数据
  5. SQLite 适用场景
  6. Qt、Qte与Qtopia(Qt嵌入式的发展历程)
  7. uva 11892 - ENimEN(推理)
  8. CentOSserverMysql主从复制集群结构
  9. WPF 图片灰度处理
  10. WPF 将Bitmapsource转换到Emgu.cv.image