Winforms 程序,我想访问其他程序代码中的数据

Winforms 程序,我想访问其他程序代码中的数据,winforms,vb6,Winforms,Vb6,我想在.NET(c#)中编写一个程序,它将运行内存(一个无格式/隐藏格式的windows应用程序)。从另一个.net和VB6应用程序代码中,我需要访问存储在此程序中的数据。我该怎么做 有什么想法吗?我可以将.net程序设置为COM可见,以便从VB代码中访问它。但是每当我创建这个程序的一个实例来从代码中访问时,我就会丢失这个程序中存储的数据 我如何克服这个问题 我可以将.net程序设置为COM可见,以便从VB代码中访问它 那不是你所希望的。在运行时工作正常,但实际上您将作为进程内服务器加载EXE。

我想在.NET(c#)中编写一个程序,它将运行内存(一个无格式/隐藏格式的windows应用程序)。从另一个.net和VB6应用程序代码中,我需要访问存储在此程序中的数据。我该怎么做

有什么想法吗?我可以将.net程序设置为COM可见,以便从VB代码中访问它。但是每当我创建这个程序的一个实例来从代码中访问时,我就会丢失这个程序中存储的数据

我如何克服这个问题

我可以将.net程序设置为COM可见,以便从VB代码中访问它

那不是你所希望的。在运行时工作正常,但实际上您将作为进程内服务器加载EXE。就像一个动态链接库。CLR不注意.NET程序集的文件扩展名,只注意显示名。一切似乎都很好,但你当然不能得到正确的数据

在.NET中创建进程外服务器是一件非常棘手的事情。只支持COM+托管,您需要从中派生可见类。操作MSDN文章

考虑改用标准的.NET进程互操作支持。从套接字、命名管道或WCF中进行选择

我可以将.net程序设置为COM可见,以便从VB代码中访问它

那不是你所希望的。在运行时工作正常,但实际上您将作为进程内服务器加载EXE。就像一个动态链接库。CLR不注意.NET程序集的文件扩展名,只注意显示名。一切似乎都很好,但你当然不能得到正确的数据

在.NET中创建进程外服务器是一件非常棘手的事情。只支持COM+托管,您需要从中派生可见类。操作MSDN文章


考虑改用标准的.NET进程互操作支持。从sockets、named pipes或WCF中进行选择。

这可以是后台运行的exe,也可以是其他程序中的exe。我需要访问此exe中存储的数据。您需要保留对该程序的引用,直到不再需要它为止。下面是有人如何使用记录集对象来实现它。你需要做同样的事情。或者让您的网络程序在断开连接时保存其状态,并在初始化时再次加载。这可能是一个在后台运行的exe,我需要从其他程序访问此exe中存储的数据。您需要保留对该程序的引用,直到不再需要它为止。下面是有人如何使用记录集对象来实现它。你需要做同样的事情。或者让您的网络程序在断开连接时保存其状态,并在初始化时再次加载。非常感谢您的评论,我正在查看服务组件。非常感谢您的评论,我正在查看服务组件。