繁体   English   中英

如何在Windows中的多种不同类型的应用程序之间共享变量值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM