获取其他进程中ListBox和ComboBox的内容
(*// 标题:获取其他进程中ListBox和ComboBox的内容 说明:Window2000+Delphi6调试通过 设计:Zswang 支持:wjhu111@21cn.com 日期:2004-03-25 //*) function GetListBoxText(mHandle: THandle; mStrings: TStrings): Boolean; var vItemCount: Integer; I: Integer; S: string; begin Result := False; if not Assigned(mStrings) then Exit; mStrings.BeginUpdate; try mStrings.Clear; vItemCount := SendMessage(mHandle, LB_GETCOUNT, 0, 0); for I := 0 to vItemCount - 1 do begin SetLength(S, SendMessage(mHandle, LB_GETTEXTLEN, I, 0)); SendMessage(mHandle, LB_GETTEXT, I, Integer(@S[1])); mStrings.Add(S); end; SetLength(S, 0); finally mStrings.EndUpdate; end; Result := True; end; { GetListBoxText } function GetComboBoxText(mHandle: THandle; mStrings: TStrings): Boolean; var vItemCount: Integer; I: Integer; S: string; begin Result := False; if not Assigned(mStrings) then Exit; mStrings.BeginUpdate; try mStrings.Clear; vItemCount := SendMessage(mHandle, CB_GETCOUNT, 0, 0); for I := 0 to vItemCount - 1 do begin SetLength(S, SendMessage(mHandle, CB_GETLBTEXTLEN, I, 0)); SendMessage(mHandle, CB_GETLBTEXT, I, Integer(@S[1])); mStrings.Add(S); end; SetLength(S, 0); finally mStrings.EndUpdate; end; Result := True; end; { GetComboBoxText } //Example procedure TForm1.FormCreate(Sender: TObject); begin RegisterHotKey(Handle, 1, MOD_WIN, VK_F2); RegisterHotKey(Handle, 2, MOD_WIN, VK_F3); end; procedure TForm1.FormDestroy(Sender: TObject); begin UnRegisterHotKey(Handle, 1); UnRegisterHotKey(Handle, 2); end; procedure TForm1.WMHOTKEY(var Msg: TWMHOTKEY); begin case Msg.HotKey of 1: GetListBoxText( WindowFromPoint(Point(Mouse.CursorPos.X, Mouse.CursorPos.Y)), MemoText.Lines); 2: GetComboBoxText( WindowFromPoint(Point(Mouse.CursorPos.X, Mouse.CursorPos.Y)), MemoText.Lines); end; end;
记录Coding学习过程中的点点滴滴,记性不好,特别需要这么一个博客 逸'Coding'Blog