1用Findwindow找到一个窗口句柄,窗口里有几个List控件,如何查到自己要控制的list
(知道可以用GetWindow来做,可是不知道如何读取List的属性来得判断是自己想要的)2怎么可以查到list有几条记录,模似控制list的记录从头到尾的记录读出来。
(知道可以用GetWindow来做,可是不知道如何读取List的属性来得判断是自己想要的)2怎么可以查到list有几条记录,模似控制list的记录从头到尾的记录读出来。
解决方案 »
- 请大家帮帮忙,怎么连接SQL数据库
- 请帮忙:QRRichText的问题。如何知道QRRichText的高度?
- fastreport 在98下和2000下打印报表的字体不一样?为何?急急急
- Delphi版人气越来越差了 人都跑哪儿去了?
- 如何断开MS SQL 2000中某个数据库的连接
- 弱弱的问:为什么使用VC spy++无法查看tlabel?
- 如何才能使Query为可编辑。
- 请教各位delphi高手
- 数学问题,指点指点
- 击键:
- MagicExport --- 非常强大而且实用的数据导出工具
- 急:如何把sql数据库中一个表(jibenqingkuang)通过程序导出一个同样字段的.mdb 的access表,并保存为用户自定义的路径
关键字 ListBox ComboBox Delphi LB_GETCOUNT LB_GETTEXTLEN LB_GETTEXT LB_GETCOUNT LB_GETTEXTLEN LB_GETTEXT
(*//
标题:获取其他进程中ListBox和ComboBox的内容
说明:Window2000+Delphi6调试通过
设计:Zswang
支持:[email protected]
日期: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;
我是在程序窗口中得到listbox,不是从进程中。
function GetListBoxText(mHandle: THandle; mStrings: TStrings): Boolean;
参数是什么?
hwnd:THandle;
pos:TPoint;
GetCursorPos(pos);
hWnd:=WindowFromPoint(pos);//)获取当前鼠标位置的窗口句柄
可是我是程序代码来做,如果每次用MOUSE来点很麻烦的。