[英]how to share a variable value across multiple different types of app in windows
我有用C#.net编写的示例Windows应用程序,并且有一个全局变量,当我的应用程序运行时,我需要共享给其他应用程序。
下面是代码:
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test
{
public partial class Form1 : Form
{
public string GlobalValue = string.Empty;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if((textBox1.Text!="") && (textBox1.Text!=null))
{
GlobalValue = textBox1.Text.ToString();
}
}
}
}
在上面的代码中,用户在文本框中输入一个值,并在按钮单击事件中更新GlobalValue。
我想在不同的应用程序之间共享变量GlobalValue的值,以及如何在C#中做到这一点。 假设我正在与示例应用程序一起运行3D Mark,并且3D Mark应用程序或任何其他应用程序都应该可以访问此GlobalValue。
我不会使用注册表来存储值。需要其他方法
如果举一个例子,对我真的很有帮助。
谢谢,
您应该阅读有关进程间通信的此Microsoft文章 ,并为您的用例选择最佳的解决方案。
总结一下:
文件映射是一种共享信息的简便方法(使数据看起来像文件),但是您需要使用原语进行进程间同步。
Pipe和Windows套接字将帮助您克服同步问题,但是您需要在所有需要访问(读取或写入)变量的应用程序中使用适当的代码。
希望以下信息对您有所帮助
您可以使用Windows注册来保存所需的任何值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.