Delphi获取其他进程中状态栏文本的函数


本文整理自网络,侵删。

 

 function GetStatusBarText(mHandle: THandle): string;
var
vBuffer: array[0..$1000] of Char;
vSize: Integer;
I: Integer;
vCount: Integer;
vProcessId: DWORD;
vProcess: THandle;
vPointer: Pointer;
vNumberOfBytesRead: Cardinal;
begin
Result := '';
vCount := SendMessage(mHandle, SB_GETPARTS, 0, 0);
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, 1, 1);
finally
VirtualFreeEx(vProcess, vPointer, 0, MEM_RELEASE);
CloseHandle(vProcess);
end;
end;

相关阅读 >>

Delphi 建立快捷方式的函数: createshortcut

Delphi的tclientsocket组件和tserversocket组件(c/s)说明

Delphi 遍历硬盘所有文件目录

Delphi 快速远程屏幕传输api版

Delphi 如何把一个exe做为res加入到dll中,并在运行时生成exe文件执行

Delphi截图程序无窗口版

Delphi使用idtcpclient和idtcpserver相互发送数据

Delphi md5加密base64加解密

Delphi中限制鼠标的移动区域

Delphi url 编码的装换

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...