VC++,写一个程序,从外部获得list control 里的内容,怎么做?
2个回答
展开全部
外部是指?List外?List所在父窗体外?List所在父窗体的框架外?List所在的应用程序外?
追问
是List所在的应用程序外
追答
那就是跨进程访问数据了。提供个思路,很久以前做的了,具体代码也找不到了。
1.找到list。
用SPY++查找LIST所在的窗口,得到一些此窗口的特有属性,比如窗口句柄或标题等。然后用你的程序遍历桌面所有窗口,找到List 所在的窗口,然后得到List。
另外一种方法可以通过屏幕坐标点来获取窗口和List.
CPoint MousePoint;
GetCursorPos(&MousePoint);
HWND hwnd=::WindowFromPoint(MousePoint);//获得当前鼠标位置的窗口
如果不通过鼠标获取 也可以直接输入坐标。
2.获取数据
跨进程访问数据有一个安全性的问题。
这里提供一个发送消息的方式获取EDIT的数据,就是通常用的获取对话框里密码数据的方式。详细代码可以去搜。
CEdit *pEdit;
pEdit = reinterpret_cast(CWnd::FromHandle(hwnd));
char szText[33] = {""} ;
::SendMessage(pEdit->GetSafeHwnd(), WM_GETTEXT, 33(LPARAM)szText);
代码未调试,只是个思路,望有所启示。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询