如何将文字信息,模拟人工输入到指定窗口?
具体是,有一个application!,有一个信息录入窗口,然后有一个“保存”键,我想用另外一个程序application2,实现从另外一个数据库提取文字信息,输入到application1的那个信息录入窗口。
application1可以最小化窗口,并非一直是当前窗口,请问怎么实现。
具体是,有一个application!,有一个信息录入窗口,然后有一个“保存”键,我想用另外一个程序application2,实现从另外一个数据库提取文字信息,输入到application1的那个信息录入窗口。
application1可以最小化窗口,并非一直是当前窗口,请问怎么实现。
解决方案 »
- 桌球赛事管理数据库设计?
- 大家谁知道delphi各个版本的发布时间啊,顶者有分
- 关于for语句的问题,是delphi的bug么?
- 一个不错的编程技术站点!~~~~~~~~~~~~~~~~
- 一个关于分布式编程、有点难度但不需编程的问题,发帖就给分!!
- 请问:在OleContainer中,如何显示autocad的dwg文件而不同时打开autocad开发环境!
- 求一个devExpress TcxLocalizer控件
- 在IE浏览网站时,怎样才能保存出现的Flash动画 .swf 文件?
- 倾囊相送,关于串口通信的问题,我用的是mscomm,以下是我的原程序,
- delphi 调用createoleObject('Excel.Application'),服务器运行失败
- 文本文件txt的追加行和删除行,要求不用tstringlist
- 哪位有用过发送手机短信的软件接口呀?以及跟哪家人配合能提供较稳定的服务?请推荐一下。
WM_SETTEXT消息此方案可以分为两步:
(1) 获取信息录入编辑框的窗口句柄
(2) 根据句柄设置输入内容对于(2), 其示例如下
// 假设已经获得窗口句柄为hDst
var
s: String;
begin
s := 'Demo';
SendMessage(hDst, WM_SETTEXT, 0, Integer(@S[1]));
end;
此种方法对于编辑框、能够输入的ComboBox有效对于(1),需要根据分析你的application1
分析的你应用程序的窗口结构可以使用Spy++, (Microsoft Visual Studio附带此工具)
其有一个Find Window功能,将那个功能中的图标拖到你的窗口上,就可以显示窗口的详细信息
然后可以根据窗口的树形结构分析窗口之间的关系
关系清楚了,使用FindWindow, FindWindowEx, GetNextWindow这三个API就可以解决你的问题,
HWND FindWindow( // 查找某一窗口
LPCTSTR lpClassName,
LPCTSTR lpWindowName
);
HWND FindWindowEx( // 查找某一窗口的子窗口
HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow
);
HWND GetNextWindow( // 获取窗口的上一个或下一个窗口
HWND hWnd,
UINT wCmd
);