如何在 C++ 中将字节数组发送到另一个进程

2023-11-26

我一直在网站上检查一种在 C++ 中将数据从一个进程传输到另一个进程的方法。我找到了 SendMessage() 方法,但它似乎无法获取字节数组。

为了解释一下这里的上下文,我有一个将数据发送到另一个应用程序的应用程序。我们有几个具有不同 ID 的对象。接收的应用程序为每个不同的对象创建一个选项卡。如果接收数据的应用程序已关闭,我们将启动一个新进程并向用户显示数据。如果我们第二次发送,我们需要检查 ID 以查看是否已经拥有其中一个对象,如果是则替换它。否则为新对象添加新选项卡。

我们使用谷歌的协议缓冲区,它们使用字节数组进行传输和序列化,所以这就是为什么我需要找到一种方法将字节数组从一个进程发送到另一个进程。

我能够获得该进程的 HWND,但我不知道现在该去哪里。


进程间通信是特定于平台的事情。在 Windows 中,有很多方法可以做到这一点。这篇 MSDN 文章介绍了几种方法及其优缺点和用例:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx

当您控制这两个应用程序并且您不关心对第三方应用程序的支持时,则发送WM_复制数据通过 SendMessage() 向其他进程发送消息可能是一个好方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C++ 中将字节数组发送到另一个进程 的相关文章

  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • 如何从页眉和/或页脚确定 PE 可执行文件的大小

    假设您有要雕刻的数据流或字节块 如何确定可执行文件的大小 PE 可执行文件格式中有许多标头 但是我使用哪些标头部分来确定 如果可能 可执行文件的总长度 这是文件格式的图片 如果PE文件格式良好 计算可以简化为 伪代码 size IMAGE
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器

随机推荐

  • 可迭代解包的默认值

    我经常因 Python 的可迭代解包缺乏灵活性而感到沮丧 举个例子 a b range 2 工作正常 a包含0 and b包含1 正如预期的那样 现在让我们试试这个 a b range 1 现在 我们得到一个ValueError Value
  • 用户定义文字的每个“正常”使用都是未定义行为吗?

    用户定义的文字must以下划线开头 这是一条或多或少众所周知的规则 您可以在每个谈论用户文字的外行语言网站上找到它 这也是我 可能还有其他人 从那时起就以 胡说八道 为由公然忽视的规则 当然 现在看来这是完全不正确的 从最严格的意义上来说
  • Flow 不更新可组合项

    我遇到了以下问题 这是注册屏幕 上面有几个输入字段 当用户输入内容时 该值会传递到 ViewModel 设置为屏幕状态并通过 StateFlow 传回屏幕 从可组合项中 我正在观察这个 StateFlow 问题是 Composable 在向
  • 没有有用且可靠的方法来检测 C/C++ 中的整数溢出?

    不 这不是重复的如何检测整数溢出 问题是一样的 但是问题不同 gcc 编译器可以优化溢出检查 使用 O2 例如 int a b b abs a will overflow if a 0x80000000 if b lt 0 printf o
  • Estimator 的 model_fn 包含 params 参数,但 params 不会传递给 Estimator

    我正在尝试在本地运行对象检测 API 我相信我已按照中所述设置了所有内容TensorFlow 对象检测 API然而 当我尝试运行 model main py 时 此警告显示并且模型无法训练 我无法真正判断模型是否正在训练 因为该过程没有终止
  • 有 com.l2fprod.common.propertysheet.PropertySheetPanel 来显示组合类

    为了拥有 Netbeans 喜欢的属性检查器窗口 我使用以下类来帮助我实现这一目标 com l2fprod common propertysheet PropertySheetPanel 到目前为止 它对于具有简单属性 例如 String
  • 在 NextJS 项目中使用 Tailwind 和 MUI 时出现意外行为(白色按钮错误)

    我目前正在使用 NextJS TailwindCSS 和 MUI React UI 库构建一个项目 每当我尝试向我的项目添加 MUI 按钮时 它工作正常 但按钮的颜色保持白色 悬停时颜色恢复正常 单击按钮时仍然具有波纹效果 但当不悬停时 它
  • 应用程序内更新不适用于应用程序包 apk

    我在我的 Android 应用程序中实现了最近推出的应用内更新 API 当我构建 apk 并测试此功能时 它工作正常 我已经上传了带有测试版的更高版本的apk 但是 当我构建应用程序包并将应用程序包上传到内部内部应用程序共享时 永远不会提示
  • 为什么 MSVC 2010 32 位项目链接到 64 位 kernel32.dll?

    我有一个 Win32 32 位 DLL 项目 它的构建和链接没有错误 DLL 无法加载到 32 位进程中 使用 DependencyWalker 我看到 DLL 是 32 位的 但已与 kernel32 msvcr100d ws2 32 和
  • C中的无符号整数[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 当我运行下面的程序时 它输出类似 109876543210 1 2 3 4 5 6 78
  • 无法在 selenium webdriver 中启动 IE 浏览器

    我已经编写了示例代码来启动IE browser并加载谷歌页面 public class Sample public static void main String args TODO Auto generated method stub S
  • IOS 中获取错误的运营商名称

    我正在开发一个 IOS 应用程序 我的要求是获取移动运营商名称 我使用了以下代码 In h import
  • 正则表达式跳过模式

    Problem 我需要用百分号 替换所有星号 方括号中的星号应被忽略 Example Test public void Replace all asterisks outside the square brackets var input
  • 使用 PDFBox 进行图像旋转

    我对使用 PDFBox 很陌生 我需要的是将带有旋转的图像添加到现有的 PDF 中 我知道如何添加图像 但我的问题是如何旋转图像 我见过一些关于 AffineTransform 和 Matrix 的东西 但我不知道那是什么以及它是如何工作的
  • jQuery 更改(使用淡入淡出动画)悬停时 div 的背景图像

    我正在尝试使用 jQuery 更改悬停时 div 的背景图像 这是我到目前为止所想到的 但是它不起作用 html div class logo div css logo width 300px height 100px background
  • Scipy插值如何将3x3矩阵调整大小/重新采样为5x5?

    EDIT 保罗在下面解决了这个问题 谢谢 我正在尝试将 3x3 矩阵重新采样 升级 为 5x5 用 interpolate interp2d 或 interpolate RectBivariateSpline 或其他有效的方法 填充中间点
  • 在 Android 上录制视频时拍照

    我编写了如下所示的 Android 服务 用于在后台录制前置摄像头 这非常有效 但现在我想在录制时每 5 秒拍一张照片 这有可能吗 当我尝试打开第二个摄像头 在另一个服务中 时 出现错误 public class RecorderServi
  • 关于 volatile 关键字的问题

    我知道通过volatile关键词 volatile int k 7 我们寻找编译器该变量可以随时更改 但是一个简单的呢 int k 7 因为它不是恒定的 我们可以随时更改它吗 有什么不同吗 volatile防止编译器优化并告诉编译器声明为
  • 如何在 Windows 7 上安装 Imagick/imagemagick PHP 扩展

    如何在 Windows 7 中安装 imagemagick 我按照这些说明进行操作 在 Windows XP php 5 2 x 上安装 IMagick 下载并安装 ImageMagick 6 5 8 7 Q16 windows dll e
  • 如何在 C++ 中将字节数组发送到另一个进程

    我一直在网站上检查一种在 C 中将数据从一个进程传输到另一个进程的方法 我找到了 SendMessage 方法 但它似乎无法获取字节数组 为了解释一下这里的上下文 我有一个将数据发送到另一个应用程序的应用程序 我们有几个具有不同 ID 的对