(*//
标题:获取其他进程中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

获取其他进程中StatusBar的文本的更多相关文章

  1. 获取其他进程中ListBox和ComboBox的内容

    (*// 标题:获取其他进程中ListBox和ComboBox的内容 说明:Window2000+Delphi6调试通过 设计:Zswang 支持:wjhu111@21cn.com 日期:2004-0 ...

  2. Windows获取其他进程中Edit控件的内容

    最近做的MFC项目中,有个获取其他进程中Edit控件内容的需求,本来以为是个很简单的问题,但是来来回回折腾了不少时间,发博记录一下. 刚开始拿到这个问题,很自然的就想到GetDlgItemText() ...

  3. 获取其他进程中“Internet Explorer_TridentCmboBx”的内容

    function GetTridentCmboBxText( // 获取其他进程中“Internet Explorer_TridentCmboBx”的内容   mHandle: THandle; // ...

  4. 【VC版】如何获取其他进程中ListView控件中的内容

    如果需要C#版的,可以看下我之前写的:C#如何获取其他程序ListView控件中的内容 获取其他进程的数据需要使用到以下几个函数: VirtualAllocEx() VirtualFreeEx() W ...

  5. 【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中的基本文本和button以及各种跳跃

    (1)navigationBar导航栏可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navig ...

  6. 使用ptrace向已运行进程中注入.so并执行相关函数

    这个总结的很好,从前一个项目也用到这中技术 转自:http://blog.csdn.net/myarrow/article/details/9630377 1. 简介 使用ptrace向已运行进程中注 ...

  7. 使用ptrace向已运行进程中注入.so并执行相关函数(转)

    1. 简介 使用ptrace向已运行进程中注入.so并执行相关函数,其中的“注入”二字的真正含义为:此.so被link到已运行进程(以下简称为:目标进程)空间中,从而.so中的函数在目标进程空间中有对 ...

  8. 通过awk获取netstat命令中的进程号

    需要如下: 获取进程号

  9. jQuery截取字符串、日期字符串转Date、获取html中的纯文本

    jQuery截取字符串.日期字符串转Date.获取html中的纯文本. var com = com || {}; (function ($, com) { /* * 截取字符串 * @param st ...

随机推荐

  1. Qt写入unicode编码格式的文本(用QChar写入BOM标记,并且列出所有Qt支持的字符集)

    1.文本流设置unicode小端模式 2.写入文本前两个字节FF FE 3.字符串转成unicode编码 QList<QByteArray> list = QTextCodec::avai ...

  2. 《⑨也懂系列:MinGW-w64安装教程》著名C/C++编译器GCC的Windows版本(MinGW-w64在安装的时候可以选择版本,有图,一步一步)

    发布日期 2016年10月31日 分类 教程 标签 编程.软件 前言<⑨也懂系列:MinGW-w64安装教程>这篇文章由 rsreland (http://rsreland.net)于 2 ...

  3. erlang工作前新手学习指引路线

    Erlang学习总结,新手指引 要具体的写erlang入门技术网上有非常多,我写的肯定没有那些大牛写的好,自己也实习了快一个月,也做一个总结,给后erlang初学兴趣者提供些拙见吧 第一步搭建学习环境 ...

  4. 在当前页获取父窗口中母版页中的服务器控件的ID

    parent.document.getElementById("ctl00_ContentPlaceHolder1_txt_name").value=""; A ...

  5. git can't merge 的处理 代码冲突问题的解决

    ***取回已经提交的代码 git reset HEAD^ git can't merge 的处理1.git status 确保status 为空,可以先提交2.git reset HEAD^    取 ...

  6. hudson搭建经验总结(二)

    作者:朱金灿 来源:http://blog.csdn.net/clever101 继续部署hudson,发现从google上的一个开源工程上:http://code.google.com/p/huds ...

  7. struts2 no extension(excludePattern)

    采用struts2 小伙伴非常希望更改或删除action扩展,本文将帮助你实现 struts2-core-2.3.16.jar , 下载链接: http://repo1.maven.org/maven ...

  8. 通用javascript脚本函数库

    /* 名字:Common.js 功能:通用javascript脚本函数库 包括: 1.Trim(str)--去除字符串两边的空格 2.XMLEncode(str)--对字符串进行XML编码 3.Sho ...

  9. Android于popWindow写弹出菜单

    1.什么是popWindow? popWindow这是对话的方式!文字解说android的方式来使用对话框,这就是所谓的popWindow. 2.popWindow特征 Android的对话框有两种: ...

  10. rabbitmq集群 + Mirror Queue + 使用C#

    搭建高可用的rabbitmq集群 + Mirror Queue + 使用C#驱动连接 我们知道rabbitmq是一个专业的MQ产品,而且它也是一个严格遵守AMQP协议的玩意,但是要想骚,一定需要拿出高 ...