我有一个C#应用程序,需要从使用MFC编写的另一个使用C++编写的窗口中检索一堆信息。 C#应用程序是包含此其他窗口的产品的插件,因此它们都在相同的进程中运行。从.NET中获取MFC列表控件中的项目
这等窗口包含一个数字,我已经成功地从得到的字符串字段致电:
[DllImport("user32.dll", SetLastError = true)]
public static extern uint GetDlgItemText(IntPtr hDlg, int nIDDlgItem, [Out] StringBuilder lpString, int nMaxCount);
但它也包含2个可能包含若干个数据行的列表控件,每一个列数。
如何获取此数据?
我应该使用user32.dll中是否有另一个函数?
你可以得到一个句柄使用列表控件:
[DllImport("User32", SetLastError = true)]
public static extern IntPtr GetDlgItem(IntPtr hwndParent, int ItemId);
然后以某种方式将它转换成.NET控件,你可以从行和列?
我在同一个过程中运行。我开发了一个现有产品的插件。除了使用我相信的Win32调用之外,我只是没有对该窗口的任何编程访问权限。如果他们将在这种情况下工作,如何使用LVM_ *消息的例子将非常感谢! – TerryB 2011-06-08 23:48:37
哦,很酷!根据此信息编辑回答。 – mwigdahl 2011-06-09 16:25:19