2013-06-01 131 views
-2

我花了一些時間搜索,所以請原諒,如果這已經回答了某人已經。 我已經用C#編寫了一個程序來完成各種任務,但不是從文件中收集信息,而是想從另一個正在運行的程序中檢索一些值,這些值將與我自己的軟件同時打開。這個其他程序將有變量和屏幕上的數據,我需要將其放入我自己的變量中。有沒有一個很好的方法來解決這個問題?我知道C++有一些方法,但我不知道它們;所以即使我必須用C++編寫它,並通過C#調用它,我很好。從另一個窗口收集信息

編輯:更多信息;有2個消息框區域和3個int變量,我需要在運行時捕獲數據。

+0

這將有助於知道什麼類型的控件(編輯框,圖片等)在「其他程序」,你正試圖獲取價值觀。 –

+0

我建議閱讀關於WCF - 網上很多示例教程之一: http://www.c-sharpcorner.com/UploadFile/4d56e1/how-to-create-and-consume-wcf-services/ 當你遇到一個你無法解決的具體困難時,是時候提出一個問題,這裏的人會盡力回答,目前你的帖子是模糊的,缺乏真正的問題 –

+0

感謝信息,我不知道WCF直到現在。至於含糊不清,我不欣賞downvote,但沒有更多的信息給予。第二個程序中有我需要的程序找到的int變量。而已。 – Sirius

回答

0

如果您想附加到託管應用程序,您可以看到Snoop如何執行此操作。它是開源:http://snoopwpf.codeplex.com/

...而不是從文件中收集的信息,我想......

好,而不是任何這些方法,你可以使用標準的非通信文件通信,例如WCF(或者具有較少學習曲線的替代方案)。

0

考慮使用EnumWindows來列出所有窗口。

[DllImport("user32.dll")] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); 

然後,您可以獲取有關這些窗口的附加信息。例如,以下是描述如何獲取窗口標題的blog post