社区
C#
帖子详情
SendMessage读取到另外一个程序TDBGrid的值
musclecn
2013-03-17 10:15:36
我用C#读取到另外一个程序一个控件 TDBGrid的值,我尝试用SendMessage(hWnd,WM_GETTXT,0,str)来获取,但是只能获取TEdit,TComboBox和TRadioButton的值,无法获取TDBGrid的值,请问高手该怎么做才能实现获取TDBGrid的值?说出具体思路即可
...全文
178
5
打赏
收藏
SendMessage读取到另外一个程序TDBGrid的值
我用C#读取到另外一个程序一个控件 TDBGrid的值,我尝试用SendMessage(hWnd,WM_GETTXT,0,str)来获取,但是只能获取TEdit,TComboBox和TRadioButton的值,无法获取TDBGrid的值,请问高手该怎么做才能实现获取TDBGrid的值?说出具体思路即可
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ych12333
2013-05-16
打赏
举报
回复
工具下载下来用了下。可惜的是不能够抓取到TDBGRID的内容。不知道楼主解决没。
threenewbee
2013-03-18
打赏
举报
回复
ReadProcessMemory本身API的调用不是很复杂(plz google by yourself),复杂的是你要知道从哪里读取。同时要适应各种运行环境、操作系统和程序版本,还要注意避免被杀毒软件判断为恶意程序。
你需要从debug的角度入手去试探和分析目标程序的内存组织。
http://download.csdn.net/detail/caozhy/1859731
这是一个有用的工具。
musclecn
2013-03-17
打赏
举报
回复
进程里面抓数据是不是很复杂,有没有实例
threenewbee
2013-03-17
打赏
举报
回复
TDBGrid中的单元格不是窗口(你可以用SPY++证实这一点),所以没办法用那些只针对标准窗口的API去获取。 变通的办法是用ReadProcessMemory直接到进程里面去抓,或者截图,然后OCR。
musclecn
2013-03-17
打赏
举报
回复
IntPtr maindHwnd = FindWindow("TClientCodeForm", null); //获得窗口的句柄 IntPtr childHwnd = FindWindowEx(maindHwnd, IntPtr.Zero, "TDBGridESetCode", null); //获得 控件的句柄 System.Data.DataSet strdv = new System.Data.DataSet(); SendMessage(childHwnd, WM_GETTEXT, pwdlen , strdv);//问题就是在这里 不知道如何读取和转换???
DB
Grid
支持鼠标滚轮滚动的解决办法
方法一: 在窗体添加
一个
TApplicationEvents组件(在Additional中),然后在它的OnMessage事件中添加如下代码: procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin // 当在 DB
Grid
1 上发生鼠标滚轮事件
向其它
程序
的TData
Grid
发送数据的方法:
向其它
程序
的TData
Grid
发送数据的方法: 在向其它
程序
的TText控件发送数据时,可以用
SendMessage
(Handle, WM_SETTEXT, 0, Cardinal(要设置的字符)),其中Handle为要发送 的控件的句枸,可以用Handle:=FindWindow(nil,标题)获得,这样就相当于在哪个Text中填写字符,但要向TData
Grid
控件中的单
FreeRPA + SQLite:构建可追溯、强一致、跨老旧系统的生产级RPA
RPA(机器人流程自动化)作为连接异构系统的关键技术,其核心挑战在于流程可观测性、数据一致性与遗留系统兼容性。传统RPA工具依赖UI层识别,日志线性不可回溯,多端数据易失一致,且难以适配Delphi、VB6等非标准桌面应用。FreeRPA通过Deno运行时直调Win32 API,结合SQLite单文件数据库实现原子化状态持久化,将执行上下文(变量、元素句柄、截图、SQL快照)全量存入`flow.db`,使断点可重建、事务可回滚、异常可定位。该方案天然支持ACID语义驱动的数据同步,并以像素级OCR+消息注入
C++Builder 6实战精解:经典RAD工具在现代开发中的价
值
与应用
快速应用
程序
开发(RAD)是一种通过可视化设计和组件复用提升开发效率的编程范式,其核心原理在于将界面元素封装为可拖拽的控件,并通过事件驱动模型响应用户交互。这种技术价
值
在于能大幅缩短GUI应用的开发周期,降低界面编码的复杂度。在桌面工具、数据采集和工业控制等对执行效率和Windows原生集成度要求较高的应用场景中,RAD工具依然具有独特优势。C++Builder 6作为经典的RAD环境,其VCL框架和可视化设计器深刻体现了这一理念。通过剖析其数据感知控件和消息机制,开发者不仅能维护遗留系统,更能理解模块化设
C++Builder 6 深度指南:维护遗产系统与现代Windows开发实战
在桌面应用开发领域,快速应用开发(RAD)工具通过组件化和可视化设计,极大地提升了软件构建效率。其核心原理在于将可复用的功能模块封装为控件,并通过属性与事件驱动机制,实现界面与逻辑的松耦合。这种模式的技术价
值
在于能显著降低开发门槛,加速原型验证和业务系统交付,尤其适用于需要快速迭代的工业控制、数据采集等场景。C++Builder 6作为经典的RAD工具,其VCL组件库和高效的C++编译器,至今仍在维护特定行业的遗产系统中发挥着关键作用。本文聚焦于C++Builder 6的环境配置、核心架构与实战开发,为处理
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章