我有一個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