Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
获取其他进程中StatisBar的文本

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

(*//
标题:获取其他进程中StatisBar的文本
说明:Window2000+Delphi6调试通过
设计:Zswang
支持:[email protected]
日期:2005-02-22
//*)
uses CommCtrl;
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; { 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;



相关文章

相关软件