各位大侠,现在知道有一个VC 6.0 编写的程序,鼠标双击以后会弹出一个窗口,里面有lable 、edit 的显示内容俺想拦截这些lable 、edit 的类名、text 值该怎么写呢?
解决方案 »
- delphi webbrowser1 如何设置访问网页代理
- fastreprot内存问题,请高手帮忙!
- 如何达到象刻度尺那样的显示效果?
- 请教高手,如何用程序修改BDE的属性?
- 100分寻求答案!把执行文件及所需的相关文件打包成执行文件,点击后,自动解压至临时目录,自动安装,自动删除解压的文件,怎么处理?谢
- 我用ado+access,现在我想把access数据库备份到某一路经,怎么处理?
- 咨询
- 世界杯冠军预测,大家认为世界杯的冠军是谁?
- 十万火急!!!有谁知道Access数据库的修复方法!
- 判斷是否是重復字段以上方法是不是比較好的? 有沒有比這更好的?
- DELPHI+SQL2000 开发C/S程序
- fastreport 打印 stringgrid问题
l_Handle: HWND;
l_ClassName, l_WindowsText: array[0..1023] of char;
l_ClassNameStr, l_Txt: string;
begin
l_Handle := GetWindow(Self.Handle, GW_CHILD);
while l_Handle <> 0 do
begin
FillChar(l_ClassName, SizeOf(l_ClassName), Ord(' '));
GetClassName(l_Handle, @l_ClassName, 50);
l_ClassNameStr := l_ClassName; if l_ClassNameStr = 'TEdit' then
begin
GetWindowText(l_Handle, l_WindowsText, 1024);
l_Txt := l_WindowsText
ShowMessage(l_Txt);
end;
l_Handle := GetWindow(l_Handle, GW_HWNDNEXT);
end;
我是想在一个程序运行的时候,将显示的一些数字截取下来
用楼上的兄弟代码,改写成以下代码以后好像不行亚
运行的时候,那个页面虽然显示了,但是出来的都是只有一个窗口类名和一个句柄
但是好像没有子类了为甚么呢?procedure TFormClassNameFinder.Timer1Timer(Sender: TObject);
var
l_Handle : HWND;
l_ClassName, l_WindowsText: array[0..1023] of char;
l_ClassNameStr, l_Txt: string;
begin
//取当前鼠标所在窗口的句柄
l_handle := WindowFromPoint(Mouse.CursorPos);
while l_Handle <> 0 do
begin
//FillChar(l_ClassName, SizeOf(l_ClassName), Ord(' '));
l_className := '';
GetClassName(l_Handle, @l_ClassName, 50);
l_ClassNameStr := l_ClassName; //if l_ClassNameStr = 'TEdit' then
begin
GetWindowText(l_Handle, l_WindowsText, 1024);
l_Txt := l_WindowsText;
//ShowMessage(l_ClassNameStr + ' ' + l_Txt);
Memoinfo.Lines.Add(l_ClassNameStr + ' ' + l_Txt);
end;
l_Handle := GetWindow(l_Handle, GW_HWNDNEXT);
end;
if GetKeyState(VK_ESCAPE) < 0 then
begin
Timer1.Enabled:= false;
Button1.Enabled:= true;
end;end;
类名是:Afx:400000:300b
样式是:WS_CHILDWINDOW上面明明有数据是时刻在变化的亚,但是这个窗口往下,就看不到子类了该怎么办呢?