如何将参数传递给已经运行的程序(C#,WPF)

时间:2019-05-07 12:50:00

标签: c# wpf command-line arguments command-line-arguments

我想找到一种关于如何将参数传递给已经启动的C#程序(WPF)的解决方案。

该程序功能广泛,但易于理解-一个简单的应用程序:

一个仍在运行的WPF主窗口。 当它起作用时,我想传递不同的时间-命令行参数(不同文件的路径或某些文本)。 当应用程序从参数获取路径时->启动新线程(显示另一个窗口,其中是带有参数路径的Label)。

对于WPF应用程序,最简单的解决方案是什么?

我找到了一些解决方案,但它们不适合我的问题。谢谢您的帮助。

更新

根据注释中的提示-我使用了套接字。我现在有两个控制台应用程序(服务器和客户端)。代码:

服务:

Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
        Socket internalSocket;
        byte[] recBuffer = new byte[256];

        serverSocket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1024));
        serverSocket.Listen(10);
        internalSocket = serverSocket.Accept();
        internalSocket.Receive(recBuffer);
        Console.WriteLine(ASCIIEncoding.ASCII.GetString(recBuffer));
        Console.Read();

客户

Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
        byte[] recBuffer = new byte[256];

        clientSocket.Connect("127.0.0.1", 1024);
        clientSocket.Send(ASCIIEncoding.ASCII.GetBytes("Hello world!"));
        Console.WriteLine(ASCIIEncoding.ASCII.GetString(recBuffer));
        Console.Read();

它起作用,以便服务器启动时开始监听,运行客户端-将字符串发送到服务器并立即关闭。到此为止还可以。但是,我希望服务器不断监听。这样我可以根据需要运行客户端多次(对于仍在运行的服务器),并且我将一直收到此消息。 有什么建议吗?

0 个答案:

没有答案