2014-07-15 22 views
1

標題:如何讀取另一個應用程序窗口中的StringGrid內容?其他應用程序中的StringGrid內容

我能得到StringGrid的手柄

+1

字符串網格不是Windows控件,所以忘記Windows消息。 – TLama

+0

你有權訪問這兩個應用程序的源代碼嗎?你知道確定它是一個字符串網格,或者甚至是其他應用程序是用Delphi寫的嗎? –

+0

我無權訪問其他應用程序的源代碼。但是,其他應用程序是用Delphi 5.0編寫的,我知道肯定是 –

回答

1

德爾福字符串電網是一個純粹的VCL控制。您不能使用Windows消息來讀取其內容。您不能使用任何自動化API,因爲Embarcadero不會並且從未使其控件可訪問。順便說一句,他們感到羞恥。

唯一可行的方法是通過嚴格的黑客手段。如果你知道控件的內存佈局,你可以像調試器一樣讀取它的內存。使用致電ReadProcessMemory的電話。但是,這將非常混亂,很難實現。

一個簡單的方法是將DLL注入到目標進程中。只要你的DLL是用與目標進程相同版本的Delphi構建的,就可以很容易地讀出網格的內容。然後,您可以使用IPC將信息發送回其他程序。

請注意,這些解決方案都不具有遠程吸引力。如果你能找到一個更乾淨的方法來完成這個任務,可能完全避免這個目標過程,那麼你應該給予強有力的考慮。

+0

謝謝你的回答 –

+0

你需要更多的幫助嗎? –

+0

你能舉個例子嗎?請 –

相關問題