问题标签 [interprocess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
653 浏览

com - 是否可以通过 COM 对象进行通信?

2个exe可以通过COM(ActiveX?)接口进行通信吗?COM DLL 可以协调 2 个单独进程之间的数据共享吗?

0 投票
1 回答
1151 浏览

c++ - 如何在托管共享内存段中创建同步机制?

我试图让 2 个进程通过 stl 容器进行通信 - 所以我决定使用托管共享内存。我正在尝试在它们之间实现一些同步——一个 interprocess_mutex 以使用 scoped_lock 开始——但我运气不佳。应该怎么做?

0 投票
1 回答
416 浏览

.net - 在另一个任意应用程序中调用 .NET 对象的方法

我问的主要是出于好奇。

使用 TestComplete 时,我注意到我可以将脚本指向任意正在运行的 .NET 应用程序,获取一个控件,对其进行反射,甚至调用它的方法。我不知道他们是怎么做到的。据我所知,这不是简单的 UIAutomation,因为我可以获取私有字段。此外,这不是远程处理,因为该应用程序没有额外的挂钩。

如何获取在另一个进程上运行的另一个 .NET 对象并调用它?

0 投票
1 回答
1588 浏览

python - 使用 Python 在正在运行的 Windows 服务(进程)中调用 RPC 函数

我有想要使用 Python 脚本测试的 Windows 服务(充当服务器)。此服务是用 C++ 编写的,并公开了其他服务使用的几个 RPC 函数。我想使用我的 Python 程序模拟那些其他服务并从脚本中调用这些 RPC 函数。这是第一阶段。第二阶段发生在服务器服务通过另一个 RPC 调用响应其调用方服务时。如何在 Python 中做到这一点?

如果 Python(或其任何扩展)无法调用/接收 RPC,如果我更改主服务器服务代码并添加任何必要的代码,这将最终调用 RPC 用于执行的相同功能,是否可以做到这一点但可以从 Python 调用吗?

注意:服务器服务使用 IDL 文件实现的原始 Windows RPC 实现 RPC 功能。也用 C++ 编写的其他服务对使用这些 RPC 感兴趣,它们正在使用 IDL 文件来生成进行通信所需的接口。不能选择使用 XML-RPC 或其他技术。

0 投票
4 回答
423 浏览

.net - 如何从另一个 .NET 进程获取对象的句柄?

在 C# 中,我知道如何从代码中运行 .NET 可执行文件,并且还知道该可执行文件的实例是否已经在运行。我想做的是,如果一个实例已经在运行,则Foo在不同可执行文件的 C# 代码中获取该对象的一个​​实例。

我有一个 Windows 应用程序(例如 Outlook 的 .NET 版本)。用户可以正常使用该应用程序,但在后台运行的还有一个进程正在监视来自第三方系统的 XML 文件。

我需要的是让观察者进程在它没有运行时启动.NET程序(或者如果它是获取一个句柄),然后CreateEmail在新的/现有的进程中调用对象实例的方法。

0 投票
1 回答
4168 浏览

c# - 在 WPF 或控制台 C# 应用程序中接收 WM_COPYDATA 结构

我正在编写一个 C# 应用程序,它需要与另一个用本机 C 编写的应用程序进行通信。到目前为止,我已经弄清楚了如何使用 User32.dll SendMessage 将消息从我的 C# 应用程序发送到 C 应用程序。但是我无法弄清楚如何让 C# 应用程序接收来自 C 应用程序的消息。

我见过重写 WndProc 方法的 WinForms 示例,但是在 WPF 或控制台应用程序中没有要重写的 WndProc 方法。当然至少可以在控制台应用程序中进行。正确的?

0 投票
2 回答
5780 浏览

c# - 从 WM_COPYDATA 消息编组结构

我正在尝试让 C# WPF 应用程序与使用 WM_COPYDATA 用 C 编写的另一个应用程序进行通信。C 应用程序正在尝试发送一个结构,如下所示:

在我的 C# 应用程序中,我定义了一个结构如下:

而接收WM_COPYDATA消息的代码如下:

我正在接收来自 C 应用程序的消息,但结构中的所有数据都是乱码。在此之前,我能够从 lParam 指针中手动提取字节数组,然后使用 System.BitConverter 和 System.Text.Encoding.ACII 来解释字节数组,并且效果很好。但现在我正试图以一种更清洁的方式来做这件事,但它不起作用。

0 投票
2 回答
2889 浏览

c++ - Linux 进程间可重入信号量

我正在将一个 Windows 应用程序移植到 Linux,但我遇到了同步问题。

在 Windows 中,我使用名为 mutex 的系统级来同步对共享内存块的访问。

我如何在 Linux 中模拟它?我使用 semget 创建了一个 SystemV 信号量。问题是它不是可重入的,如果我已经持有它,它会阻塞,这与 Windows 不同。我可以向它添加一个引用计数,但是我需要同步对它的访问,这意味着另一个(这次仅针对当前进程)互斥体。

是否有某个类提供可重入进程间锁(可能在 Boost 中)?

顺便说一句,使用文件锁是不可接受的,因为它可能太慢了(我需要两个进程之间的超低延迟通信)。

0 投票
1 回答
971 浏览

c# - 如何开始实现不同进程之间的拖放?

我正在开发的应用程序是一个用 C# 编写的 Windows 窗体应用程序。它上面有一个树视图。每个 treeNode 存储一些数据。我想要做的是打开应用程序的两个副本,将一些树节点从一个应用程序拖放到另一个应用程序。树节点存储的数据应传输到另一个应用程序以在另一个应用程序上构建树节点。我想知道如何实现这样的拖放功能?谢谢你的帮助。

0 投票
9 回答
27999 浏览

c# - What is the easiest way to do inter process communication in C#?

I have two C# applications and I want one of them send two integers to the other one (this doesn't have to be fast since it's invoked only once every few seconds).

What's the easiest way to do this? (It doesn't have to be the most elegant one.)