社区
Windows SDK/API
帖子详情
怎样获得窗体种label文字?
ronaldli
2003-08-12 07:03:54
比如net send 接收到的信息,怎样得到它的文本?
...全文
154
18
打赏
收藏
怎样获得窗体种label文字?
比如net send 接收到的信息,怎样得到它的文本?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ronaldli
2003-08-18
打赏
举报
回复
深了,连汇编都上来了
说实话,我基础比较差,有几个关键点还不是很明白
1、我怎样找到TextOut系统API的地址
2、我没改写过进程内存,希望能简单介绍一下,或介绍本参考书
ronaldli
2003-08-18
打赏
举报
回复
ok, thx a lot, settle accounts!
toplor
2003-08-18
打赏
举报
回复
给你介绍一本还算不错的书吧: <<Delphi下深入Windows核心编程>>
---------------------------------------------------------
风过西窗客渡舟船无觅处
年年一川新草遥看却似旧
大地精灵
2003-08-15
打赏
举报
回复
学习
kkk2000
2003-08-15
打赏
举报
回复
顶
ronaldli
2003-08-15
打赏
举报
回复
hilove(小枫):
你的代码很有用,但是Label不是窗体,是没有句柄的,所以你的代码不能实现
toplor(霜天晓竹):
怎么调用APIHook?
toplor
2003-08-15
打赏
举报
回复
调用SetWindowsHookEx和UnHookWindowsHookEx等函数,使自已的Dll注入到需要取得Label的文字的所在的进程, 找到TextOut等系统API的地址,修改它的前五个字节,使其跳转到自已定义的截获函数,这样做之后每一条TextOut系统调用都会转到你的自定义函数之中来,这样就可以获得所有的字符输出.
关键API:
WriteProcessMemory
OpenProcess
VirtualQuery
VirtualProtect
还有Jmp指令0xE9等
---------------------------------------------------------
风过西窗客渡舟船无觅处
年年一川新草遥看却似旧
IORILI
2003-08-13
打赏
举报
回复
參與
hilove
2003-08-13
打赏
举报
回复
给你一段C的代码,希望对你有启发:
#define ZOU_PROCESS_ERROR(condition)
if(!(condition))
goto Exit0; //错误处理宏定义
int CGetWindowInfo::GetRealWindow(HWND *phWnd, POINT ptPoint)
{
int nResult = false;
int nRetCode = false;
HWND hWndTop = NULL;
HWND hWndChild = NULL;
POINT ptCooChild = {0};
LONG lWindowStyle = 0;
//先得到ptPoint指向的(子)窗口
hWndTop = ::WindowFromPoint(ptPoint);
ZOU_PROCESS_ERROR(hWndTop);
ptCooChild = ptPoint;
lWindowStyle = GetWindowLong(hWndTop, GWL_STYLE);
//通过这个判断找到最上层的父窗口(也就是上面图片中“QQ设置”的主窗口)
if( !GetParent(hWndTop) ||
GetDesktopWindow() == GetParent(hWndTop) ||
!(lWindowStyle & WS_CHILDWINDOW))
{
*phWnd = hWndTop;
}
else
{
*phWnd = GetParent(hWndTop);
}
// 转换相对坐标
::ScreenToClient(*phWnd, &ptCooChild);
//从父窗口一层一层往下查找子窗口,直到找到最底层的子窗口
while (TRUE){
hWndChild = RealChildWindowFromPoint(*phWnd, ptCooChild);
if (hWndChild && (hWndChild != *phWnd))
*phWnd = hWndChild;
else
break;
}
nResult = true;
Exit0:
return nResult;
}
补充:
1、这是一个类SPY++的写法。LABEL也是窗体的一种,即程序中认为的子窗体。
2、最好用枚举系统任务的方法,别用FINDWINDOW。
另我在申请版主,希望多多支持。到下面这个网址支持我:
http://expert.csdn.net/Expert/topic/1893/1893700.xml?temp=.8558466
toplor
2003-08-13
打赏
举报
回复
从根本上说,它是系统调用TextOutA(W)或ExtTextOutA(W)输出的
用APIHook, 截获它的TextOut输出, 就可以了,很容易的
---------------------------------------------------------
风过西窗客渡舟船无觅处
年年一川新草遥看却似旧
雨后阳光2000
2003-08-13
打赏
举报
回复
^_^……哪就参与了
ronaldli
2003-08-13
打赏
举报
回复
获取net send接收到的文本,我已解决
关键在于net send信使服务对话框可以复制
所以我只要EnumWindows,找到“信使服务”窗体,然后SendMessage(hWnd, WM_COPY, 0, 0),最后自己解析剪贴板中的文本就可以了
而且在窗体中有句柄的控件也是可以得到文本的,但是,普通对话框中的Label我就不会取了。
等待一周,没人解决就颁发参与奖
meing
2003-08-12
打赏
举报
回复
用WIN32 API吧,有函数可查得窗口的handle.再用handle 做吧.好象与查*内容一样!
pressman
2003-08-12
打赏
举报
回复
这应该没办法了
别人程序里LABEL里的文字,
好象很难哦!
帮你顶,
让高手来答
FrameSniper
2003-08-12
打赏
举报
回复
我也学习,都不知道楼主说什么,真是惭愧,呵呵.........观望...........
pankun
2003-08-12
打赏
举报
回复
Net Send后接收到的信息应是个用MessageBox显示出来的对话框吧。
sixgj
2003-08-12
打赏
举报
回复
种label是什么东西?
huojiehai
2003-08-12
打赏
举报
回复
学习...
C#
窗体
动态显示
Label
文字
本文介绍如何使用C#实现
窗体
上
Label
文字
的动态显示。通过设置定时器控件,可以实现在
窗体
中循环移动
Label
的位置,并提供了一个简单的停止与启动移动功能。此方法适用于需要动态更新界面上文本的应用场景。
winfrom 中
label
文字
随着
窗体
大小变化
在WinForm开发里,
窗体
文字
随大小变化很重要,否则影响美观和体验。曾试过设置
label
的Dock属性为fill、按比例让
文字
大小随
窗体
变化等方法,效果不佳。最后找到一
种
方法解决问题,并分享了用VS创建FORM工程及添加
label
后的执行代码。
C# :Winform
窗体
中
文字
滚动显示
本文介绍了如何在
窗体
应用中创建
文字
滚动显示的效果。通过添加Timer和
Label
控件,结合编程实现
文字
向左滚动,当
文字
最右侧超出
窗体
时,使其从左侧重新出现。调整Timer控件的Interval属性可以改变滚动速度,从而达到动态显示
文字
的目的。
设置为
label
_VBA基础知识,
窗体
可视化设计ActiveX控件介绍,标签控件
Label
本文介绍了VBA中ActiveX控件
Label
的基本使用,包括其作为
窗体
说明的重要性,常见的属性设置如字体、Caption和ForeColor,以及如何通过VBA代码动态修改
Label
的属性。虽然
Label
的编程内容较少,但在
窗体
设计中不可或缺。
设置为
label
_
窗体
上显示信息之控件一:
label
标签控件
本文介绍了Windows
窗体
中
Label
控件的基本使用,特别是Autosize属性(自动调整大小)、TextAlign属性(标签
文字
对齐)和Visible属性(控件是否显现)。详细阐述了这三个属性的设置及其对标签显示的影响,包括不同对齐方式的展示效果,并提供了代码示例。
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章