2011-10-18 17 views
3

私はC#で別のアプリケーションからSysListView32のテキストを取得しようとしています。 私はLVM_GETITEMCOUNTを得ることができますが、LVM_GETITEMW = 0x1000 + 13は常に-1を返します。どのように私はC#でテキストを取得できますか?私は新しいです。どうもありがとう!SysListView32からitemtextを取得

 ParenthWnd = FindWindow(ParentClass, ParentWindow); 
     if (!ParenthWnd.Equals(IntPtr.Zero)) 
     { 
      zWnd = FindWindowEx(ParenthWnd, zWnd, zClass, zWindow); 
      if (!zWnd.Equals(IntPtr.Zero)) 
      { 
       int user = SendMessage(zWnd, LVM_GETITEMCOUNT, 0, 0); 
      } 

答えて

2

あなたは別のプロセスが所有するコントロールを使用して作業しているので、LVITEMメモリを読み書きするために懸命に働く必要があります。したがって、そのプロセスでメモリを読み書きする必要があります。 ReadProcessMemory,WriteProcessMemoryなど

このコードプロジェクトの記事は、Stealing Program's Memoryという最も一般的な例です。 32/64ビットの問題を見てください。

+0

私はそれを得ました!非常にありがとうございます.http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/8529ff18-8b63-46c1-bb28-b469e298ee0c/ –

関連する問題