控制另一个程序里的数据窗口

原创 2017年09月07日 09:17:30

通过测试发现使用Post(ll_dw_handle, 1305, 0, 0) ,可以使数据窗口弹出saveas的对话框,经过进一步的试验,发现wparam和lparam参数的含义分别是 :saveas type和 savefilename字符串的地址,所以我们就可以使用发送消息的方式使数据窗口内容保存为文本文件,然后读取文件就可以获取数据了。
  我在pb程序中的测试代码:
  Function integer SndMsg(long hWnd, long uMsg, long wp, &
   ref string filename) library “user32.dll” Alias For “SendMessageA”
  long ll_handle
  ll_handle = handle(dw_1)
  string s
  s=”c:\111.txt”
  SndMsg(ll_dw_handle, 1305, 2, s)
如果要编写一个数据窗口外挂程序,只要得到数据窗口的句柄就可以了。
以下为消息对应的Datawindow命令(网上搜索的资料)

Function Power script
Retrieve Post(ll_handle, 1306, 0, 0)
- Post(ll_handle, 1320, 0, 0)
Retrieve (yield) Post(ll_handle, 1306, 1, 0)
- Post(ll_handle, 1320, 0, 0)
ScrollNextPage Post(ll_handle, 1318, 0, 0)
ScrollPriorPage Post(ll_handle, 1319, 0, 0)
ScrollToFirstPage Post(ll_handle, 1315, 0, 1)
ScrollToLastPage Post(ll_handle, 1315, 0, 999999)
Sort Dialog Post(ll_handle, 1309, 0, 0)
Filter Dialog Post(ll_handle, 1311, 0, 0)
Append Row Post(ll_handle, 1357, 0, 0)
- Post(ll_handle, 1312, 0, 0)
- Post(ll_handle, 1315, 0, 999999)
- Post(ll_handle, 1325, 0, 0)
InsertRow Post(ll_handle, 1357, 0, 0)
- Post(ll_handle, 1313, 0, 0)
- Post(ll_handle, 1312, 0, 1)
- Post(ll_handle, 1315, 0, 1)
- Post(ll_handle, 1325, 0, 0)
DeleteRow Post(ll_handle, 1357, 0, 0)
- Post(ll_handle, 1307, 0, 0)
Update Post(ll_handle, 1357, 0, 0)
- Post(ll_handle, 1338, 0, 0)
- Post(ll_handle, 1304, 0, 0)
SaveAs Dialog Post(ll_handle, 1338, 0, 0)
- Post(ll_handle, 1305, 0, 0)
Print Post(ll_handle, 1303, 0, 0)
Cancel Post(ll_handle, 1320, 0, 0)

Qt中两个窗口相互操作

Qt中两个窗口相互操作,举一个栗子就是两个窗口相互关闭(窗口1中的pushbutton关闭窗口2;窗口2中的pushbutton关闭窗口1;)...
  • xyfx_fhw
  • xyfx_fhw
  • 2017年01月12日 09:19
  • 980

VC实现A进程窗口嵌入到B进程窗口中显示的方法

这篇文章主要介绍了VC实现A进程窗口嵌入到B进程窗口中显示的方法,对于理解windows程序运行原理的进程问题有一定的帮助,需要的朋友可以参考下 本文通过一个Demo示例讲述把A应用程序...
  • jiangqin115
  • jiangqin115
  • 2015年05月03日 15:12
  • 1327

如何将另一个安装程序打进自己的安装包中

我们在制作安装包时,有时希望将其它的安装程序一起打进来。在安装的时候,一起安装。下面介绍一下安装包的制作过程。 第一步,建立安装项目: 第二步,在应用程序文件夹下,添加需要打包的文...
  • wind_3278
  • wind_3278
  • 2017年05月26日 14:03
  • 250

C#窗体向另一个窗体实时传值

winform跨界面传值
  • zlbcdn
  • zlbcdn
  • 2017年04月28日 11:12
  • 1703

PB9.0 窗体复制

自学考试毕业设计,使用PB9.0做一个管理信息系统。     在做毕业设计之前,需要去实现书上的一个简单的学生管理系统。     之前从没有接触过PB,使用的一段时间。     除了感觉语...
  • zc474235918
  • zc474235918
  • 2015年03月03日 21:27
  • 1779

关于MFC中 父窗口与子窗口 子窗口与子窗口之间的信息传递及控制

因为项目的需要,某子窗口B的设置变动,经常需要联动其他子窗口C,或者父窗口A控件的名称更新,数据更新等等问题。再网上查了许久,不得解 ,特抛砖引玉,提供几种思路。      以下都以A为父窗口,A...
  • roman1232008
  • roman1232008
  • 2013年06月25日 17:48
  • 15928

Win32控制台应用程序如何调用另一个.exe

该函数只提供对16位机子的兼容。应用程序应该使用CreateProcess函数。 Declare Function WinExec Lib "kernel32" Alias "WinExec" (B...
  • u011334621
  • u011334621
  • 2014年11月20日 14:25
  • 2695

从win32控制台创建窗口过程

// UIshow.cpp : 定义控制台应用程序的入口点。 // #include "windows.h" #include "TCHAR.h" LRESULT CALLBACK WindowP...
  • coredoor
  • coredoor
  • 2013年01月29日 20:08
  • 3798

Java操作另一个Java程序使其重启

大概思路:写两个程序,一个负责重启的程序,一个是待重启的程序,在这里为了区分我们假设负责重启的那个程序叫A,待重启的程序叫B,他们都是线程,还要搭配数据库,他是两个程序的桥梁,通过设置信号量进行判断程...
  • Pnoter
  • Pnoter
  • 2016年09月14日 17:04
  • 2157

Delphi 停靠技术的应用1(在一个窗体中停靠另一个窗体)

一、基础知识介绍 1、VCL组件的基础知识         在TWinControl类中有一个DockSite属性(boolean),它的作用是是否允许别的控件停靠在它的上面;在TCont...
  • my98800
  • my98800
  • 2016年07月26日 14:03
  • 164
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:控制另一个程序里的数据窗口
举报原因:
原因补充:

(最多只允许输入30个字)