水平有限,大家都来指导指导我呀

Black爷 2004-11-02 10:49:19
1用Findwindow找到一个窗口句柄,窗口里有几个List控件,如何查到自己要控制的list
(知道可以用GetWindow来做,可是不知道如何读取List的属性来得判断是自己想要的)

2怎么可以查到list有几条记录,模似控制list的记录从头到尾的记录读出来。
...全文
263 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Black爷 2004-11-04
  • 打赏
  • 举报
回复
那有点像SPY+++了,
可是我是程序代码来做,如果每次用MOUSE来点很麻烦的。
mingsunday 2004-11-04
  • 打赏
  • 举报
回复
当鼠表移到listbox时,得到是listbox句柄,并不是from的
Black爷 2004-11-04
  • 打赏
  • 举报
回复
我现在不是要窗口的语柄,我要控制窗口里的listbox,要得到listbox的句柄
mingsunday 2004-11-04
  • 打赏
  • 举报
回复
var
hwnd:THandle;
pos:TPoint;
GetCursorPos(pos);
hWnd:=WindowFromPoint(pos);//)获取当前鼠标位置的窗口句柄
Black爷 2004-11-04
  • 打赏
  • 举报
回复
不要告诉我,CSDN真的没人了。
劣势 2004-11-03
  • 打赏
  • 举报
回复
你压得到谁的句柄
Black爷 2004-11-03
  • 打赏
  • 举报
回复
这个问题对于5角以上的朋友因该不难吧,为什么不有人说说呢。
Black爷 2004-11-03
  • 打赏
  • 举报
回复
顶一下。
lyguo 2004-11-03
  • 打赏
  • 举报
回复
关注
Black爷 2004-11-03
  • 打赏
  • 举报
回复
up,up,up
才子鸣 2004-11-03
  • 打赏
  • 举报
回复
up
Black爷 2004-11-02
  • 打赏
  • 举报
回复
现在我想知道如何得到句柄,大家帮帮忙呀。
Black爷 2004-11-02
  • 打赏
  • 举报
回复
mHandle是listbox的句柄,mStrings是个字符集合
notchy 2004-11-02
  • 打赏
  • 举报
回复
函数是自己定义的吗?
function GetListBoxText(mHandle: THandle; mStrings: TStrings): Boolean;
参数是什么?
Black爷 2004-11-02
  • 打赏
  • 举报
回复
谢谢 JavaD(一竿残照),你的代码给我的启发是SendMessage的用法。
我是在程序窗口中得到listbox,不是从进程中。
JavaD 2004-11-02
  • 打赏
  • 举报
回复
获取其他进程中ListBox和ComboBox的内容 zswangII(原作)

关键字 ListBox ComboBox Delphi LB_GETCOUNT LB_GETTEXTLEN LB_GETTEXT LB_GETCOUNT LB_GETTEXTLEN LB_GETTEXT



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


Black爷 2004-11-02
  • 打赏
  • 举报
回复
顶一下,会的帮帮我。
lyguo 2004-11-02
  • 打赏
  • 举报
回复
关注
Black爷 2004-11-02
  • 打赏
  • 举报
回复
有人知道,说一说呀。

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧