【问题标题】:What's the easiest way to send a string to another application? (Win API)将字符串发送到另一个应用程序的最简单方法是什么? (赢API)
【发布时间】:2011-09-13 19:54:55
【问题描述】:

我有两个用纯 C 编写的 Win32 API 程序:程序 A 和程序 B。我希望程序 B 将字符串“Hello World”发送给程序 A。所以 B 需要执行以下操作:

1) 检测程序 A 是否正在运行。

2) 如果是,发送“Hello World”字符串给A。

3) 如果 A 没有运行,B 应该显示错误消息。

有人可以指出执行此操作所需的 API 函数吗?我将如何在两个程序之间建立这样的通信?我认为最大的问题是“Hello World”字符串在程序 B 的地址空间中,它需要移动到 A 的地址空间。所以仅仅传递一个内存指针是不够的......我需要一个不同的方法。有什么想法吗?

谢谢

【问题讨论】:

标签: c winapi api ipc


【解决方案1】:

要查找其他程序的主窗口,我建议使用FindWindowEnumWindows。你使用哪一个取决于你对另一个过程的了解。

一旦您有了发送文本数据的最简单方法,就是通过WM_COPYDATA windows 消息。

要显示错误消息,请使用MessageBox

【讨论】:

    【解决方案2】:

    谷歌WM_COPYDATA。如果做不到这一点,您可以通过本地 IP 堆栈或管道使用 UDP 消息。

    【讨论】:

      【解决方案3】:

      本教程可能会有所帮助: http://ryanfarley.com/blog/archive/2004/05/10/605.aspx

      它甚至还有一个可下载的示例程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-08
        • 2015-01-06
        • 1970-01-01
        • 2017-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多