2011-06-13 24 views
5

我有兩個用普通C編寫的Win32 API程序:程序A和程序B.我希望程序B向程序A發送字符串「Hello World」。因此B需要執行以下操作:將字符串發送到其他應用程序的最簡單方法是什麼? (Win API)

1)檢測程序A是否正在運行。

2)如果是,發送 「Hello World」 的字符串A.

3)如果A沒有運行,乙方應顯示錯誤信息。

有人能指點我所需的API函數嗎?我將如何在兩個程序之間建立這樣的溝通?我認爲最大的問題是,「Hello World」字符串在程序B的地址空間中,並且它需要移動到A的地址空間。所以只傳遞一個內存指針是不夠的......我需要一個不同的做法。有任何想法嗎?

感謝

+0

看看[進程間通信](http://msdn.microsoft.com/en-us/library/aa365574(v = vs.85).aspx) – 2011-06-13 10:42:26

回答

3

要查找其他程序的主窗口,我推薦使用FindWindowEnumWindows。你使用哪一個取決於你對另一個過程的瞭解。

一旦你有這個最簡單的方式發送文本數據是通過一個WM_COPYDATA窗口消息。

要顯示錯誤消息,請使用MessageBox

+0

感謝那就是我一直在尋找! – andy 2011-06-13 11:49:04

3

Google for WM_COPYDATA。否則,您可以在本地IP堆棧或管道上使用UDP消息。

相關問題