MFCを使用してC++で記述された別のウィンドウから多数の情報を取得する必要がある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
ああ、クール!この情報に基づいて編集された回答。 – mwigdahl