我有两个用简单C编写的Win32 API程序:程序A和程序B.我希望程序B将字符串“Hello World”发送到程序A.所以B需要执行以下操作:
1)检测程序A是否正在运行。
2)如果是,请将“Hello World”字符串发送给A。
3)如果A未运行,B应显示错误消息。
有人能指出我这样做的必要API函数吗?我如何在两个程序之间建立这样的通信?我认为最大的问题是“Hello World”字符串在程序B的地址空间中,并且它需要移动到A的地址空间。所以只是传递一个内存指针是不够的......我需要一个不同的做法。有什么想法吗?
由于
答案 0 :(得分:3)
要查找其他程序的主窗口,我建议您使用FindWindow
或EnumWindows
。您使用哪一个取决于您对其他过程的了解。
完成后,发送文本数据的最简单方法是通过WM_COPYDATA
Windows消息。
要显示错误消息,请使用MessageBox
。
答案 1 :(得分:3)
Google WM_COPYDATA
。如果做不到这一点,您可以在本地IP堆栈或管道上使用UDP消息。
答案 2 :(得分:0)
本教程可能会有所帮助: http://ryanfarley.com/blog/archive/2004/05/10/605.aspx
它甚至有一个可下载的示例程序。