zoukankan      html  css  js  c++  java
  • 获取其他进程中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;
  • 相关阅读:
    软件开发与uml的关系
    软件工程助教学期工作总结
    2021-06-06 助教一周小结(第十八周)
    2021-05-23 助教一周小结(第十六周)
    2021-05-16 助教一周小结(第十五周)
    2021-05-09 助教一周小结(第十四周)
    第十三周助教总结(2021.4.26-2021.5.2)
    第十二周助教总结(2021.4.19-2021.4.25)
    第十一周助教总结(2021.4.12-2021.4.18)
    第十周助教总结(2021.4.5-2021.4.11)
  • 原文地址:https://www.cnblogs.com/yilongm/p/3143818.html
Copyright © 2011-2022 走看看