问题背景:
我有一个任务,需要多个(共7个)软件的配合才能完成。我没有这些软件的源代码。
现在我想创建一个新的程序对原有的这些软件进行控制,以达到自动完成任务的目的。
目前的情况是前6个软件都已能够控制,第7个软件确无法对其进行准确的操作。
主要原因是其中存在一个类型为SysTreeView32的控件,我需要在这个控件中增加子结点,以完成任务。原有方案:
1.利用VC6创建一个新的Win32应用程序,暂称为主程序。
2.利用第7个程序文件,在主程序中创建一个新的进程。
3.在主程序中查找SysTreeView32的窗口句柄。
4.利用得到的窗口句柄对其进行控制。我的问题:
1.有什么办法能够准确地获得程序7中的SysTreeView32控件的窗口句柄?所谓“准确”,是指能够一定找到这个控件,且只找到我所需要的那个控件。
2.我需要选中SysTreeView32控件中的某个子结点,那么,在主程序中应该如何实现这样的目的。
我有一个任务,需要多个(共7个)软件的配合才能完成。我没有这些软件的源代码。
现在我想创建一个新的程序对原有的这些软件进行控制,以达到自动完成任务的目的。
目前的情况是前6个软件都已能够控制,第7个软件确无法对其进行准确的操作。
主要原因是其中存在一个类型为SysTreeView32的控件,我需要在这个控件中增加子结点,以完成任务。原有方案:
1.利用VC6创建一个新的Win32应用程序,暂称为主程序。
2.利用第7个程序文件,在主程序中创建一个新的进程。
3.在主程序中查找SysTreeView32的窗口句柄。
4.利用得到的窗口句柄对其进行控制。我的问题:
1.有什么办法能够准确地获得程序7中的SysTreeView32控件的窗口句柄?所谓“准确”,是指能够一定找到这个控件,且只找到我所需要的那个控件。
2.我需要选中SysTreeView32控件中的某个子结点,那么,在主程序中应该如何实现这样的目的。
解决方案 »
- 编译process viewer出错, '_vsntprintf_s' : undeclared identifier
- 长了见识,散分
- 请教关于进度条控件与多线程的问题(100分)
- 怎么才能让CView在生成的时候就有图形
- 巨简单,怎么在CmyFram中怎么得到CmyView的指针?
- 请教一个与SQLSERVER的连接问题
- 为何我FindFirstFile时出错??
- 难道不是所有的控件IDC_***都能在Member Variables里看到吗?
- socket通信中如何发送对象??
- error LNK2001: unresolved external symbol _main
- 打印预览问题!
- 关于 密码安全
1.
spy++ 查看你需要的 SysTreeView32 控件的 "control ID" xctrlID
hTree = ::GetDlgItem(hDlg, xctrlID) 就得到了 , hDlg是控件的父窗口hwnd2.
使用 TreeView_SelectItem 宏 或者 给 hTree 发送 TVM_SELECTITEM 消息
hFrameWnd = GetDlgItem(MyApp.GetTopWnd(),0xE900);//查询AfxMDIFrame42s类型窗口
hTreeViewWnd = GetDlgItem(hFrameWnd,0xE900);//查询SysTreeView32类型窗口(hFrameWnd的子窗口)hTreeRoot = (HWND)SendMessage(hTreeViewWnd,TVM_GETNEXTITEM,TVGN_ROOT, 0x0);//查询根结点
hThisWnd = (HWND)SendMessage(hTreeViewWnd, TVM_GETNEXTITEM,TVGN_NEXTVISIBLE,
(long)hTreeRoot);//查询下一个结点的窗口句柄
SendMessage(hTreeViewWnd, TVM_SELECTITEM,TVGN_CARET, (long)hThisWnd);//选中当前结点